ML学习笔记之Jupyter Notebook各种使用方法
0x00 概述
安装Jupyter Notebook的先决条件:已经安装了python(python 2.7 或者是python3)
具体的安装方法:
- 官方建议利用Anaconda安装Jupyter
- 安装完成Anaconda后,如果该Anaconda并不自带Jupyter Noterbook,那么,打开cmd,输入:
conda install jupyter
- 可以使用pip install jupyter安装

0x01 更改Jupyter notebook的工作空间
1.1 方式一
如何找到该配置文件?
- 在cmd中输入
jupyter notebook --generate-config - 如果该配置文件已经存在,那么,会出现如下信息,从中可以见到配置文件存在的位置,注意,此时,输入N,不要overwrite

- 如果该配置文件不存在,那么,将会初始化产生一个配置文件
- 找到配置文件。修改:

修改为:

保存后在cmd中输入:jupyter notebook,会自动触发默认浏览器打开jupyter
1.2 方式二绝招(绝招)
- 进入工作目录文件夹
键盘Shift+鼠标右键->在此处打开命令窗口-> 在弹出的命令窗口中输入:Jupyter Notebook
Jupyter被打开,定位到当前目录!
0x02 Jupyter的各种快捷键
执行当前cell,并自动跳到下一个cell:
Shift Enter执行当前cell,执行后不自动调转到下一个cell:
Ctrl-Enter是当前的cell进入编辑模式:
Enter退出当前cell的编辑模式:
Esc删除当前的cell:双D
为当前的cell加入line number:单L
将当前的cell转化为具有一级标题的maskdown:单1
将当前的cell转化为具有二级标题的maskdown:单2
将当前的cell转化为具有三级标题的maskdown:单3
为一行或者多行添加/取消注释:
Crtl /撤销对某个cell的删除:
z浏览器的各个Tab之间切换:
Crtl PgUp和Crtl PgDn快速跳转到首个cell:
Crtl Home快速跳转到最后一个cell:
Crtl End
0x03 Jupyter Notebook如何导入代码
即导入代码到jupyter notebook的cell中
3.1 将本地的.py文件load到jupyter的一个cell中
问题背景:有一个test.py文件,需要将其载入到jupyter的一个cell中
test.py内容如下:
import caffe
SolverName = "/root/workspace"
sovler = caffe.AdamSolver(SolverName)
方法步骤:
(1)在需要导入该段代码的cell中输入
%load test.py #test.py是当前路径下的一个python文件
(2)运行该cell
利用快捷键“Shift+Enter”,可以看到如下结果:
(3)可以看到,运行后,%load test.py被自动加入了注释符号#,test.py中的所有代码都被load到了当前的cell中
3.2 从网络load代码到jupyter
在cell中输入
%load http://.....,然后运行该cell,就会将load后面所对应地址的代码load到当前的cell中;下面给出一个例子,导入matplotlib中的一个小例子color example code
首先,在想要导入该段代码的cell中输入
%load test.py #test.py是当前路径下的一个python文件- 1
然后,Shift+Enter运行,可以看到如下结果:
可以看到,运行后,%load test.py被自动加入了注释符号#,test.py中的所有代码都被load到了当前的cell中
0x04 Jupyter运行python文件
- 利用jupyter的cell是可以运行python文件的,即在cell中运行如下代码:
%run file.py
- 1
file.py为要运行的python程序,结果会显示在该cell中
0x05 Jupyter一些其他琐碎用法
5.1 jupyter的cell可以作为unix command使用
具体方法为:在unitx command前面加入一个感叹号“!”
例子:
查看python版本:!python --version
运行python文件:!python myfile.py
5.2 Magic functions
还没有太明白,具体细节见The cell magics in IPython
5.3 获取current working directory
即当前运行的代码所在的路径
具体方法:current_path = %pwd
这样得到的current_path就是当前工作路径的字符转
5.4 使用Matplotlib绘图
在Jupyter Notebook中,如果使用Matplotlib绘图,有时是弹不出图像框的,此时,可以在开头加入
- 1
%matplotlib inline
0x06 Jupyter中的Markdown
6.1 在jupyter中设置link,需要设置两部分:
要跳到的位置(the destination)
需要在要跳转到的位置添加下面语句:- 1
<a id='the_destination'></a>
这里的id取值任意赋值,下面在添加链接时要用
- 1
需要添加链接的文字(an internal hyperlink to the destination),即点击该处可以跳转到the destination,在需要添加链接的文字后面加入:
- 1
[需要添加连接的文字](#the_destination)
- 1
下面是一个例子:
源码:
效果图:
6.2 为Jupyter Notebook添加目录功能
- 原始的Jupyter是不支持markdown添加目录功能的
- 实际上,可以利用Jupyter notebook extensions去使得这种功能实现
- 具体方法:
- 利用Anaconda安装Jupyter Notebook extensions
conda install -c conda-forge jupyter_contrib_nbextensions
- 打开Jupyter Notebook,在它的(新增的)Nbextensions标签下勾选“Table of Contents(2)”

- 打开一个.jpynb文件,发现,目录功能可用了!

- 利用Anaconda安装Jupyter Notebook extensions
参考文献
[1] 为Jupyter Notebook添加目录
ML学习笔记之Jupyter Notebook各种使用方法的更多相关文章
- [ML学习笔记] XGBoost算法
[ML学习笔记] XGBoost算法 回归树 决策树可用于分类和回归,分类的结果是离散值(类别),回归的结果是连续值(数值),但本质都是特征(feature)到结果/标签(label)之间的映射. 这 ...
- [ML学习笔记] 朴素贝叶斯算法(Naive Bayesian)
[ML学习笔记] 朴素贝叶斯算法(Naive Bayesian) 贝叶斯公式 \[P(A\mid B) = \frac{P(B\mid A)P(A)}{P(B)}\] 我们把P(A)称为"先 ...
- [ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest)
[ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest) 决策树 决策树算法以树状结构表示数据分类的结果.每个决策点实现一个具有离散输出的测试函数,记为分支 ...
- [ML学习笔记] 回归分析(Regression Analysis)
[ML学习笔记] 回归分析(Regression Analysis) 回归分析:在一系列已知自变量与因变量之间相关关系的基础上,建立变量之间的回归方程,把回归方程作为算法模型,实现对新自变量得出因变量 ...
- 【笔记】jupyter notebook基础使用
jupyter notebook基础使用 执行代码 添加格子 在输出结果的同时添加一行 run cells and insert below 输出结果,若后续没有新的代码行了,则会在后面添加一行 查看 ...
- Python·Jupyter Notebook各种使用方法
PythonJupyter Notebook各种使用方法记录持续更新 一 Jupyter NoteBook的安装 1 新版本Anaconda自带Jupyter 2 老版本Anacodna需自己安装Ju ...
- Python·Jupyter Notebook各种使用方法记录
标签(空格分隔): Python 一 Jupyter NoteBook的安装 1 新版本Anaconda自带Jupyter 2 老版本Anacodna需自己安装Jupyter 二 更改Jupyter ...
- JavaScript学习笔记:数组reduce()和reduceRight()方法
很多时候需要累加数组项的得到一个值(比如说求和).如果你碰到一个类似的问题,你想到的方法是什么呢?会不会和我一样,想到的就是使用for或while循环,对数组进行迭代,依次将他们的值加起来.比如: v ...
- 再起航,我的学习笔记之JavaScript设计模式06(工厂方法模式)
上一次已经给大家介绍了简单工厂模式,相信大家对创建型设计模式有了初步的了解,本次我将给大家介绍的是工厂方法模式. 工厂方法模式 工厂方法模式(Factory Method):通过对产品类的抽象使其创建 ...
随机推荐
- mysql日期存储格式int,timestarmp,datetime
int (1).4个字节存储,INT的长度是4个字节,存储空间上比datatime少,int索引存储空间也相对较小,排序和查询效率相对较高一点点 (2)可读性极差,无法直观的看到数据. TIMESTA ...
- pyTorch 基于以resnet50为backbone的PSPNet 训练VOC2012数据集
代码链接:https://github.com/ggyyzm/pytorch_segmentation 使用PSPNet作为主干分类网络 1.将VOC2012数据集下载并解压到data/VOCtrai ...
- JavaScript三种方法获取地址栏参数的方法
今天碰到要在一个页面获取另外一个页面url传过来的参数,一开始很本能的想到了用 split(“?”)这样一步步的分解出需要的参数. 后来想了一下,肯定会有更加简单的方法的!所以在网上找到了两个很又简单 ...
- [KCOJ20170214]又一个背包
题目描述 Description 小W要去军训了!由于军训基地是封闭的,小W在军训期间将无法离开军训基地.所以他没有办法出去买他最爱吃的零食.万般无奈的小W只好事先买好他爱吃的零食,装在背包里带入军训 ...
- [冬令营day1T3]Tree
题目描述 Description 给一棵N个节点的无根树,求路径长度=K的简单路径数 输入描述 Input Description 第一行两个正整数N,K 接下来N-1行,每行两个正整数x,y,表示 ...
- 深入js系列-语法
语法 语句和表达式 我们用英语的术语来说明它们的区别 "句子"(sentence)是完整表达某个意思的一组词,由一个或多个"短语"(phrase)组成,它们之间 ...
- 对最长公共子序列(LCS)等一系列DP问题的研究
LIS问题: 设\(f[i]\)为以\(a[i]\)结尾的最长上升子序列长度,有: \[f[i]=f[j]+1(j<i&&a[j]<a[i])\] 可以用树状数组优化至\( ...
- Echart、Excel、highcharts、jfreechart对比
Echart Excel highcharts jfreechart 柱状图 √ √ √ √ 条形图 √ √ √ √ 折线图 √ √ √ √ 面积图 √ √ √ √ 散点图 √ √ √ √ 气泡图 ...
- Gamma阶段第八次scrum meeting
每日任务内容 队员 昨日完成任务 明日要完成的任务 张圆宁 #91 用户体验与优化https://github.com/rRetr0Git/rateMyCourse/issues/91(持续完成) # ...
- IBM X3650 m4 面板指示灯