Jupyter Notebook 的使用

深度学习编程常用工具

我们先来看 4 个常用的编程工具:Sublime Text、Vim、Jupyter。虽然我介绍的是 Jupyter,但并不是要求你必须使用它,你也可以根据自己的喜好自由选择。

Sublime Text

第一个是 Sublime Text,它是一个非常轻量且强大的文本编辑工具,内置了很多快捷的功能,同时还支持很丰富的插件功能,对我们来说非常方便。

1625538727(1).jpg

如上图所示,它可以自动为项目中的类、方法和函数生成索引,我们让我们可以跟踪代码。可以通过它的 goto anything 功能,根据一些关键字查找到项目中的对应的代码行。

Vim

第二个是 Vim,它是 Linux 系统中的文本编辑工具,方便快捷且强大,我们在项目中经常会使用到。

在我们的项目中,经常需要登录到服务器上进行开发,而服务器一般都是 Linux 系统,不会有 Sublime Text 与 Pycharm,所以我们可以直接用 Vim 打开代码进行编辑。对于没有接触过 Linux 或者是一直使用 IDE 进行编程开发的同学,一开始可能觉得不是很方便,但 Vim 的快捷键十分丰富,对于 Shell 与 Python 的开发来说非常便捷。

Vim 的缺点正如刚才所说,有一点点门槛,需要你去学习它的使用方法。只要你学会了,我保证你将对它爱不释手。

Jupyter Notebook & Lab

最后一个是今天要介绍的 Jupyter Notebook 了,它是一个开源的 Web 应用,能够让你创建、分享包含可执行代码、可视化结构和文字说明的文档。

Jupyter Notebook 的应用非常广泛,它可以用在数据清理与转换、数字模拟、统计模型、数据可视化、机器学习等方面。

Jupyter Notebooks 非常活跃于深度学习领域。在项目的实验测试阶段,它相比于用 py 文件来直接编程还是方便一些。在项目结束之后如果要写项目报告,用 Jupyter 也比较合适。

简单介绍之后,我们接下来就从 Jupyter 的功能、Jupyter 的安装与启动与 Jupyter Lab 的操作这 3 个方面学习 Jupyter。

Jupyter Notebook & Lab 的功能

Jupyter 主要有以下 3 点的作用:执行代码、数据可视化以及使用 Markdown 功能写报告。

  • 执行代码。一般是 Python 程序,也可以添加新的编程语言。
  • 数据可视化。设想一下,我们经常在 Linux 环境编程开发,如果需要对数据可视化该怎么办呢?是不是只能把图片保存下来,然后下载到本地进行查看?使用 Jupyter Notebook 就不用多此一举,我们可以直接在页面中查看。如下图所示:

图片.png

  • 使用 Markdown 功能写文档,或者制作 PPT。这些文档中还包含代码以及代码执行后的结果,非常有助于你书写项目报告。

Jupyter Notebook & Lab 的安装与启动

了解了 Jupyter 的功能之后,我们来看看具体要如何进行安装与启动。这一节我介绍了 3 种安装和启动的方式,分别是 Anaconda、Docker 和 pip。

使用 Anaconda 安装与启动

我们先来看如何使用 Anaconda 来安装与启动。

安装

最简单的方法是通过安装 Anaconda 来使用 Jupyter Notebook & Lab。Anaconda 已自动安装了 Jupter Notebook 及其他工具,还有 Python 中超过 180 个科学包及其依赖项。你可以通过 Anaconda 的官方网站得到 Anaconda 的下载工具。

启动

这里我会分 MacOS 系统和 Win 环境来讲解。

(1)MacOS 系统

安装完 Anaconda 之后,打开终端后系统会默认进入 base 环境。

在命令行最前面有个(base)的标志则表示代码进入 base 环境了,如果没有就需要通过下面的命令激活 base 环境:

1
conda activate base

在 base 环境下执行下面的命令,会自动进入 Jupyte Notebook 的开发环境。

1
jupyter notebook

执行下面的命令,则会自动进入到 Jupyter Lab 的开发环境。

1
jupyter lab

(2)Win 环境

Windows 环境中的启动方式与 MacOS 基本一样。

当你想通过命令 Jupyter Notebook 或 Jupyter Lab 启动时,你需要在 Anaconda Prompt 中执行。

图片.png

通过 Anaconda Navigator 启动的方式与 MacOS 一样。

使用 Docker

通过 Docker 使用 Jupyter 也非常简单,连安装都不需要,但前提是你要有 Docker 相关的知识。

使用 pip 安装与启动

了解完 Anaconda 和 Docker 的安装与启动方式后,我们最后来看 pip 是如何安装和启动的。

安装

通过 pip 安装 Jupyter Notebook:

1
pip install Jupyter

通过 pip 安装 Jupyter Lab:

1
pip install Jupyterlab

启动

安装完成后,直接在终端执行 Jupyter Notebok 或 Jupyter Lab 命令启动。

不管在 MacOS 系统还是在 Windows 系统,通过以上任意一种方式成功启动后,浏览器都会自动打开 Jupyter Notebook 或 Jupyter Lab 的开发环境:

bd2c4bd7559b0eba46fee22e41eda79.png

Jupyter Lab 的操作

Jupyter Lab 是 Jupyter Notebook 的下一代产品,在使用方式上更为灵活、便捷。

我们在命令行或者 Anaconda Navigator 中启动 Jupyter Lab 之后,浏览器会自动打开如下所示的 Jupyter Lab 界面:

1625538963(1).jpg

最左侧显示的是你启动时所在的目录,右侧是你可以使用的一些开发工具。

Notebook

点击 Notebook 下面的“Python 3”的图标之后,就会自动新建一个 Notebook。

  • Jypter Lab 与 Jupyter Notebook 中都会用到这个叫作 Notebook 的编辑工具。

  • Jupyter Lab 与 Jupyter Notebook 不同的地方是 IDE 的界面以及操作方式,这里讲解用的是 Jupyter Lab 的操作。

一个 Notebook 的编辑界面主要由 4 个部分组成:菜单栏、工具栏、单元格(Cell)以及内核。如下图所示:

图片.png

菜单栏与工具栏这里就不详细介绍了。我们先来看单元格(Cell),然后再介绍内核。

单元格(Cell)

单元格是我们 Notebook 的主要内容,这里我会介绍两种单元格。

  • Code 单元格:包含可以在内核运行的代码,并且在单元格下方输出运行结果。

  • Markdown 单元格:包含运用 Markdown 的文档,常用于文档的说明,也是可以运行的单元格。

从 Code 单元格切换到 Markdown 单元格的切换的快捷键是 m;从 Markdown 单元格切换到 Code 单元格的切换的快捷键是 y。

切换之前需要先按 Esc,从单元格的编辑状态中退出。

在工具栏中也可以切换,但是还是快捷键方便些。工具栏的位置在下图中红框的位置:

图片.png

我们看一个例子。我编辑了下面的 Notebook。第一行是 1 个 Markdown 单元格,是 1 个一级标题,第二行是 1 个 Python 的代码。两行代码都是未运行状态。

图片.png
你注意到左边那个蓝色的竖条了吗?它代表我们所在的单元格。

我们在编辑这个单元格的时候,左边是绿色的竖条。如果我们按 Esc 退出单元格,它就会变为蓝色。

退出单元格后,我们可以通过上下键移动选中的单元格。我们移动到第一行,然后开始运行这两个单元格。

运行单独一个单元格的快捷键 Ctrl+Enter,运行选中单元格并切换到下一个单元格的快捷键是 Shift + Enter。运行结果如下图所示:

图片.png

Markdown 没有左边的“[]”标签,通过这一点你可以区分 Code 单元格与 Markdown 单元格。

“[]”中的数字代表单元格被执行的顺序,例子中“[1]”代表第一个被执行的单元格。

以上就是单元格的内容了。我们接下来看看,单元格中的一些快捷键的使用。

(1)快捷键

如果你是用 Jupyter 进行开发,掌握单元格的快捷键能让你的开发速度变得更快,下面我列举了几个常用的快捷键:

  • 执行单元格 Ctrl+Enter 或 Shift+Enter;
  • a 在单元格上方插入新的单元格;
  • b 在单元格下方插入新的单元格;
  • x 删除单元格;
  • z 撤销删除的单元格。

(2)Magic 命令

Jupyter Notebook 的前身是 IPython Notebook,所以 Jupyter 也支持 IPython 的 Magic 命令。IPython 是一个比 Python 自带的 Shell 更加灵活方便的 Shell,它主要活跃于数据科学领域。

Magic 命令分两种:

  • Line Magics 命令:在命令前面加%,表示只在本行有效

  • Cell Magics 命令:在命令前面加%%,表示在整个 Cell 单元有效。

下面我介绍几个常用的 Magic 命令。

  • %lsmagic:用来查看可以使用的 Magic 命令。

图片.png

  • %matplotlib inline:可以在单元格下面直接打印出 matplotlib 的图标,通常要在 matplotlib 模块引入之前使用;使用这个 Magic 命令之后,可以不用 plt.show()。

  • %pwd:查看当前的文件路径。

  • %%writefile:写文件,%%writefile 后面紧跟着文件名,然后下面写文件的内容。

  • %run: 运行一个文件,%run 后面跟着要运行的文件。

  • %load:加载文件。使用%load + 文件名可以把指定的文件加载到单元格内。请看下面的例子,我们要把 temp.py 加载到单元格里,首先是执行前,

(3)Markdown 命令

了解了 Magic 命令后,我们再来看 Markdown 命令。Markdown 是一种在 Markdown 单元中用于格式化文本的语言,常用于 Notebook 的文档说明,我们列举了几个常用的命令。

  • 标题:通过井号的数目可以决定标题的大小。
1
2
3
4
5
6
7
8
9
# 一级标题:

## 二级标题:

### 三级标题:

#### 四级标题:

##### 五级标题:
  • 列表:分为无序列表与有序列表。
1
2
3
4
5
6
7
8
9
10
11
## 无序列表

- 项目 1

- 项目 2

## 有序列表

1. 项目 1 (1. 与项目 1 之间有一个空格)

2. 项目 2
  • 字体:可以通过”*”或者_的数目控制强调的内容,即斜体、加粗以及粗斜体。具体的请看下面的例子。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    *斜体*

    **加粗**

    ***粗斜体***

    或者

    _斜体_

    __加粗__

    ___粗斜体___

(4)调用系统命令

最后,在 Notebook 中还可以调用所在操作系统的命令,只需要在命令前加一个“!”就可以了。例如,在 Linux 系统中查看当前路径:

1
!pwd
打赏

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2020-2021 码疯窝在香嗝喱辣
  • Powered By Hexo | Title - Nothing
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信