虚拟化与WSL系列--安装与使用 Linux 子系统的 Jupyter Notebook
当成功建立支持 GPU 的 Keras 开发环境后,接着需要安装 Python 开发工具,我们准备在 keras-tf 虚拟环境安装 Jupyter Notebook,如此就可以直接从 Windows 操作系统启动浏览器,通过网页界面来使用 Linux 子系统的 Jupyter 文件管理与笔记本。Jupyter Notebook 是在 Web 服务器执行的 Web 应用程序,可以让我们通过浏览器在笔记本(Notebook)上编辑代码和建立丰富文件内容,包含代码、段落、方程式、标题文字、图片和超链接等。安装 Linux 子系统的 Jupyter Notebook
请启动 Windows 终端机进入 Linux 子系统的用户目录后,执行 conda activate 命令启动 keras-tf 虚拟环境,就可以使用 pip install 命令安装 Jupyter Notebook,如下所示:(keras-tf) $ pip install notebook
当成功安装 Jupyter Notebook 后,我们可以马上在 keras-tf 虚拟环境启动 Jupyter 服务器,因为在 Linux 发行版并没有安装浏览器,所以在命令后需加上 --no-browser 选项,如下所示:(keras-tf) $ jupyter notebook --no-browser
上述信息显示已经成功的启动 Jupyter 服务器,并且显示 2 个 URL 网址,请按住 【 Ctrl 】 键,点选任何一个超链接,就可以启动 Windows 浏览器来加载 Jupyter 文件管理界面,如下图所示:我们只需从 Windows 文件资源管理器拖放文件至上述文件管理界面,即可上传文件至 Linux 子系统。选取 Linux 子系统的文件后,点选上方【 Download 】,可以下载文件至 Windows 操作系统。建立第一份 Jupyter 笔记本
Jupyter 笔记本的扩展名是 .ipynb,这是一份包含代码和丰富文件内容的可执行文件,方便我们呈现和分享数据科学、机器学习或深度学习等数据分析的图表和训练结果,其建立步骤如下所示:Step 1请在 Jupyter 文件管理介面的右方按【New】按钮,执行【Python 3 (ipykernel)】命令。Step 2可以建立一份名为【Untitled】的笔记本,如下图所示:在上述图例的上方,位在 jupyter 后的 Untitled 是笔记本名称,在下方依序是功能表和工具栏按钮,接着是编辑区域,可以看到蓝色框线的编辑框,这是作用中的编辑框(取得焦点),称为单元格(Cell),单元格就是 Jupyter 笔记本的基本编辑单位。Step 3我们只需点选【Untitled】就可以更改文件名称,请在【New Name】栏输入新文件名【note-test】后,按【Rename】按钮更名文件。Step 4可以看到上方的文件名称已经改成 note-test,如下图所示:在 Jupyter 编辑和执行 Python 代码
当成功新增名为 note-test 的笔记本后,只需点选左上角的【jupyter】图标,就可以回到文件管理界面,看到我们新建的笔记本文件 ch6-4.ipynb,如下图所示:双击【note-test.ipynb】可以再次开启 Jupyter 笔记本,请在作用中单元格(Cell)的编辑框输入文件内容,预设是代码单元格,请注意!如果输入的 Python 代码超过一行,请按 【 Enter 】 键换行。例如:在 [ ]: 提示文字后的代码单元格输入表达式 5+10,如下图所示:按上方工具栏第 6 个三角形箭头的执行按钮,可以在下方看到执行结果 15,并且在下方自动新增一个作用中的新代码单元格,同时,位于表达式前方的 [ ] 已经改成 [1],如下图所示:接着,请在新增的代码单元格输入 2 行代码,依序定义变量 num = 10,和使用 print() 函数显示变量 num 值,因为代码有 print() 函数,所以执行结果只显示 10,没有前方的 [ ],如下图所示:同理,我们可以在代码单元格输入 if 条件,在输入 if num >= 10: 后,按 Enter 键,就会自动缩排 4 个空白字符,然后输入 print() 函数的代码,除了使用工具栏按钮来执行,也可以按 【 Shift + Enter 】 键来执行作用中的单元格,并在下方自动新增一个单元格,如下图所示:不只如此,Jupyter 还可以随时修改 Python 代码来重复执行,例如:点选第 2 个代码单元格成为作用中的单元格后,将 num 变量的值改为 9,如下图所示:在更改后,请执行「Run > Run All Cells」命令重新执行全部代码,就可以显示执行整份文件 Python 代码的执行结果,输出从 10 改为 9,因为 if 条件不成立,所以没有显示任何信息文字,如下图所示:Jupyter 预设会自动定时保存文件,如果需要,我们也可以自行按工具栏的第 1 个图标按钮来手动保存笔记本文件。