You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

7.5 KiB

title date updated tags categories keywords description top_img comments cover toc toc_number toc_style_simple copyright copyright_author copyright_author_href copyright_url copyright_info katex highlight_shrink aside
jupyter notebook的使用 2020-11-11 18:13:00 2020-12-21 21:39:21 <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> true <nil> <nil>

安装

conda install jupyter notebook

修改主目录

Jupyter Notebook 默认的主目录是“我的文档”,

jupyter notebook --generate-config 显示配置文档所在位置

打开jupyter_notebook_config.py,查找NotebookApp.notebook_dir,后面文件夹改为指定目录。大概在393行

快捷方式属性,删除%USERPROFILE%

利用conda创建了虚拟环境,但是启动jupyter notebook之后却找不到虚拟环境。实际上是由于在虚拟环境下缺少kernel.json文件。

  1. 使用anaconda安装ipykernel,很简单,只需执行一条命令:

$ conda install ipykernel

  1. 添加配置好的环境到jupyter notebook的kernel中:

$ python -m ipykernel install --user --name env --display-name "给kernel添加的名称

如果经常用到jupyter notebook,可以在创建虚拟环境的时候安装好ipykernel:

conda create -n 环境名称 python=3,9 ipykernel

jupyter 增加和删除kernel

  1. 查看当前 jupyter 中有哪些 kernel
jupyter kernelspec list

  1. 删除指定 kernel
jupyter kernelspec remove kernel_name

  1. 增加指定 kernel
  • 先进入相应的虚拟环境 conda activate name
  • 然后再用 which python找到当前虚拟环境下的 python 位置
(pytorch) user-name@406:~$ which python
/home/user-name/anaconda3/envs/pytorch/bin/python
  • 然后再输入,其中 XXXX 是你想要的 kernel name,由于权限问题可能要加 sudo
sudo /home/user-name/anaconda3/envs/pytorch/bin/python -m ipykernel install --name XXXX

注意:这里不能直接使用 sudo python 因为这样会对应到默认的python,而不是虚拟环境中的 python,因此直接输入虚拟环境的具体位置

改指定工作目录

右键属性, 目标后面的字串改成需要指定的工作空间路径

魔法函数

下面我们简单介绍几个最常见的魔法函数。 https://blog.csdn.net/u011213419/article/details/81299282

%lsmagic函数

%lsmagic函数可以列出(list,简写ls)所有魔法函数。如果我们想使用一个魔法函数,却忘记函数名如何写时,就可以使用%lsmagic来查询(在代码框内输入%lsmagic后按Shift+Enter组合键执行即可),如图1-29所示。 jupyter_notebook的使用.-fig-0.png图1-29 Jupyter中的各种魔法函数

%matplotlib inline函数

图1-22的第16行代码中出现过%matplotlib inline函数,它的含义就是告诉IPython,我们的绘图模式是内嵌(inline)模式,即将绘图直接显示在当前的网页上。 有了这个魔法函数,图1-22所示代码的第21行plt.show()其实是可以省略的,读者朋友将其用注释形式去掉,然后尝试再次运行代码,可查看结果有无变化。 其实,这个魔法函数的后置参数“inline”有一个“对标”参数—qt,如果我们使用这个参数,即%matplotlib qt,则表示代码构造的图形是通过独立窗口显示的。在独立窗口中可支持图形的缩放、拖曳及被另存为多种格式的图形文件(如.jpg、.png和.pdf等)。读者朋友可将图1-22中的第16行代码修改为的%matplotlib qt并再次运行,感性认识这两个参数带来的不同。

%timeit函数

魔法函数%timeit的功能是为某行代码的执行提供计时服务[1],这在评估机器学习算法的性能(特别是评估运行时间)时特别有用。例如,如果我们想对图1-22中的第14行代码的运行时间进行计时,则可以如下操作。

%timeit area = (40 * np.random.rand(20))**2

按Shift+Enter组合键执行,结果如下。

6.6 µs ± 1.28 µs per loop (mean ± std. dev. of 7 runs, 100000 loops each)

上述输出结果的意思是,对于代码“area = (40 * np.random.rand(20))**2”运行7轮,每轮运行1000个循环,然后求得均值为6.6微秒,方差为1.28微秒[2]。 如果我们想运行10轮而非7轮,该怎么办呢?这时就需要为魔法函数添加参数了,具体如下。

%timeit –n10 out = sess.run(a)

需要注意的是,参数选项“-n10”中的“-n”和“10”中间并没有空格。图1-29列出了如此多魔法函数,我们怎么才能知道某个魔法函数的具体用法呢?最简单的办法就是在Jupyter中创建一个新的单元格,然后输入该魔法函数,最后追加一个问号(?),注意函数名和问号之间没有空格,如下所示。

%timeit?

然后按Ctrl+Enter组合键运行这个单元格。 假设某个代码块正好就是一个算法的实现,现在我们想对整个代码块的运行进行计时,而不是对某一行代码的运行计时,该如何做呢? 这时,就需要利用%timeit的姊妹函数—块魔法函数%%timeit,即timeit前面有两个%。如前所述,它的适用范围是整个代码块,因此通常会把这个魔法函数放在某个代码块的首行。

%%writefile函数

我们知道,Jupyter是一个集才华(代码编写)和颜值(图文文档显示)于一身的编程工具。但有时,如在生产环境中,我们还想把调试好的Python代码单独拎出来操作,这时该怎么办呢? 当然,我们可以采用复制的方式,把Jupyter代码块中的代码一块一块地复制到一个IDE(如Spyder)的新建文件中,然后保存为我们所需要的Python源文件。 但实际上,Jupyter已经替我们考虑到这个需求。魔法函数%%writefile就是做这项工作的。见名知意,这个魔法函数的主要功能是把整个代码块中的Python代码保存为一个.py文件。 通过该魔法函数前端的两个百分号(%%)就可以看出,这是一个作用域为整块代码的魔法函数。%%writefile后面跟的参数是一个具体的Python文件名。假设我们想保存图1-22所示的代码块中的Python代码,就可以在代码块的首行添加如下代码。

%%writefile myFirstBook.py # 这里,myFirstBook.py是任意你想保存的文件名

然后,按Ctrl+Enter组合键运行单元格,这个myFirstBook.py源文件就默认保存在与*.ipynb(Jupyter文件)相同的路径下。当然,我们可以为其添加一个非默认路径,如%%writefile/Users/yhilly/ Documents/myFirstBook.py. 在这种情况下,单元格执行之后,myFirstBook.py就被存储在“/Users/yhilly/Documents/”路径下。读者也可以单击Jupyter的菜单栏【File】->【Download as】,有多种文件格式可供选择,可将编写好的代码保存到本地。

其他常用的魔法函数

下面我们列出其他常用的魔法函数,如表1-1所示,更多详细使用方法,可参阅IPython的官方文档。 表1-1 其他常用的魔法函数 jupyter_notebook的使用.-fig-1.png