0%

Jupyter Notebook 配置及常见技巧

按照不同项目的要求,选择相应的 conda 环境和合适的内核。

顶部的选项卡是 Files、Running和 Cluster。

Files显示当前目录中的所有文件和文件夹。点击 Running选项卡会列出所有正在运行的 notebook。我们可以在该选项卡中管理这些 notebook。

Clusters 用于创建多个用于并行计算的内核。现在,一般使用 ipyparallel ,因此 cluster 选项卡如今用处不多。

启动 Jupyter Notebook 服务器

按照Jupyter文档,我们可以看到整体的架构:

Browser————Notebook Server(read notebook files)————Kernel

核心是服务器,Browser 将其呈现为 Web 应用形式,保存文件为JSON 格式的 ipynb 。这样内核无需运行 python。

由于 notebook 和内核分离,两者之间传递任何语言的代码。早期的两个非 Python 内核分别是 R 语言和 Julia 语言。因此,Jupyter 一词,也是由 Julia、Python 和 R 组合而成。

关闭 Jupyter

  1. 保存 notebook,关闭
  2. 关闭服务器

notebook 界面

了解 cell 和命令面板
自动保存快捷键:esc + “C”

关于 Cell

执行代码并移动到下一格: Shift + Enter
执行代码保持在这一格:Control + Enter
代码补齐:tab
查看文档中的使用建议:Shift + Tab (可 2 次显示完整内容)

关于 Markdown

  1. 一般使用
  2. 数学公式 Latex使用
  3. Github 上的指南
  4. 速查指南 速查

熟悉快捷键

  1. 模式转换:在编辑模式和命令模式中转换。
    编辑模式中:增加内容。在上一个cell中执行‘shift + enter’,键入enter 进入编辑模式
    命令模式中:执行命令。在编辑模式中,键入escape ,进入命令模式。
  2. 命令模式下,可以呼出帮助列表
    H:help list
    A:在上方(Above)创建新的cell
    B:在下方(Below)创建新的cell
    M/Y:切换md与代码
    L:打开行号表示(line number)
    DD:连续按两次d,可以删除cell
    S:保存文件
    Command + P/Shift + Control:打开命令面板,搜索指令,也可以鼠标选择小键盘符号
  3. 总之要多尝试才能熟悉 :D

Magic 关键字

Magic 关键字是可以在单元格中运行的特殊命令,能让你控制 notebook 本身或执行系统调用,
例如更改目录。

notebook 中可以使用 %matplotlib 将 matplotlib 设置为以交互方式工作

按照作用域不同,分为两类
类型一:% 是行 magic 命令
类型二:%% 是单元格 magic 命令

  1. timeit:计时代码的运算时间
  2. matplotlibmatplotlib inline :创造可视化内容时,我们可以使用对应的交互模块/绘画包,嵌入内容
    PS:一般,可以通过命令传递参数,以选择特定后端
  3. %pdb:这是在notebook中进行调试的命令,开启交互式调试器。在代码出错的时候,可以检查当前命名空间中的变量。
    代码调试器文档参考
  4. 更多参考

转换 Notebook

注意:Notebook 时扩展名为 .ipynb 的大型 JSON 文件。

内置的 nbconvert 可以直接转换 notebook 成 HTML、Markdown、幻灯片等形式。

转换命令如下:

1
jupyter nbconvert --to html notebook.ipynb

转换命令参考文档

幻灯片展示

  1. 设置显示模式:
    在菜单栏中,点击 “View” >“Cell Toolbar”>“Slideshow”

然后每个cell 可以定义为不同的显示类型{Slide,sub slide,fragment,skip,notes}.
Slides:是你从左向右移动的完整幻灯片。
Sub-slides:按上/下的箭头时,子幻灯片会显示,一般起补充说明作用。
Fragments:最初是隐藏的。
Skip:会忽略幻灯片中的单元格
Notes:会将为演讲者保留备注

  1. 运行幻灯片
1
jupyter nbconvert notebook.ipynb --to slides

这条命令可以直接将 notebook 转换为幻灯片所需要的文件,但还需要提交给 HTTP 服务器才能真正看到演示文稿。

** 提交到服务器,并直接显示! **

1
jupyter nbconvert notebook.ipynb --to slides --post serve