Notebook使用参考
页面概览
BML对原生Notebook进行了定制与扩展,用户可以使用新的Notebook完成代码开发、代码执行、结果查看以及模型保存等功能,其包含如下区域:
各区域依次为:
- 侧边栏:提供文件、数据、环境管理功能
- 快捷工具栏:提供对编辑区的快捷操作
- 菜单栏:提供文件、模型、运行过程的管理功能
- Code编辑区:提供代码编辑、运行功能
- Markdown编辑区:提供Markdown文本编辑功能
- 状态监控区:包括变量监控和已执行代码查看功能
- 终端:提供命令行的交互方式
侧边栏
侧边栏包括文件夹、数据集、环境以及设置四个管理模块。
文件夹
文件夹提供“/home/work”目录下文件的可视化管理功能,用户可以上下传文件、创建或删除其中的文件夹等。Notebook启动之后,会将导入过的数据集同步到data目录下,其它目录下会使用用户已保存过的代码版本或草稿版本进行初始化。
- 文件夹操作: 包括文件夹创建、删除、重命名以及路径复制功能。
- 文件操作: 包括文件创建、上传、下载、删除、重命名、熟悉查看等功能。其中上传时,支持的最大文件为30M。
- 刷新:若代码在运行过程中更新了磁盘中的文件,可以通过刷新操作更新文件状态。
数据集
用于将在BML的数据服务中创建的数据集同步到Notebook运行的容器中。
- 在导入数据集时,系统会自动在Notebook运行环境的“/home/data/”目录下创建以“数据集ID”为名的文件夹,并将数据集的原始文件以及标注文件复制到该文件夹中。
- 当原始数据集有更新时,data目录下的数据不会自动同步,需要手工进行同步。
环境
用于查看当前Notebook运行的软硬件信息以及创建新的终端连接。
设置
用于配置系统的自动停止、数据自动保存等的规则。
- 关闭环境时间:当Notebook中,没有单元格运行后,超出设置的时间,则系统会自动关闭Notebook运行的容器。
- 数据自动保存间隔:自动保存Notebook内容的时间间隔。
- 代码块:在Notebook中每个编辑输入框即为一个Cell,用户可以控制是否显示Cell序号、Cell中字体大小等内容。
工具栏
工具栏提供的功能如下所示:
- 运行 :运行当前选中的code cell
- 全部运行 :运行全部code cell
- 重启并运行全部:重启代码执行器,并从前向后运行全部code cell
- 中断 :中断运行某个code cell.
- 重启 :重启代码执行器,清空环境中的环境变量、缓存变量、输出结果.
- 保存 :保存Notebook项目文件.
- +Code:在当前选中的Cell下方插入一个Code Cell
- +Markdown:在当前选中的Cell下方插入一个Markdown Cell
- 定位到当前运行Cell:将当前运行的Cell移动到屏幕中央
菜单栏
菜单栏包括文件、保存模型、编辑、运行、代码执行器、帮助几个功能。
文件
提供对Notebook文件的快捷操作。
- 保存选中文件: 保存当前Notebook文件(仅保存Notebook文件),非永久存储
- 导出Notebook文件为ipynb: 将Notebook下载为ipynb文件,导出后的ipynb文件可以在本地Jupyter环境中进行查看和运行
- 导出Notebook为py: 将 Notebook 下载为py文件,从而可以在其它Python环境中执行Notebook中的代码
- 导出Notebook为html:将Notebook下载为html文件,便于查看内容
- 导出Notebook为Markdown:将Notebook下载为Markdown文件,便于查看内容
- 导入ipynb为Notebook: 将本地编写好的ipynb文件直接上传到Notebook环境中运行. 文件导入为覆盖式导入, 请慎重操作
保存模型
Notebook中的模型文件只有保存后,才可以执行预测和部署功能。
- 请确保要保存的模型文件在/home/work/PretrainedModel目录下。模型支持版本管理功能,在保存时可以生成新版本也可以覆盖已有的且尚未部署的模型版本,每个版本的模型都可以独立部署。每个模型版本中保存的模型文件大小上限为1.5GB
- 在保存模式时也可以将训练模型的代码一并保存。代码支持版本管理功能,用户再次启动Notebook时,可以使用指定的代码版本来初始化Notebook工作空间即/home/work目录下data以外的空间。每个代码版本中保存的文件大小上限为150M
- 模型保存后,可以在当前项目的“配置模型”列表中查看到已保存的模型
编辑
提供对Cell的各种快捷操作:
运行
提供多种Cell运行方式:
代码执行器
支持中断执行和重启执行器两种操作:
帮助
使用帮助,包括快捷键、使用说明、常见问题和飞桨API:
Code编辑区
Code Cell是Notebook的代码编写单元。用户在Code Cell内编写代码(支持Python2、Python3)和shell命令,代码/命令在云端执行,并返回结果到Code Cell.
命令/编辑模式
绿色代表块内容可编辑状态-编辑模式(比如输入代码),蓝色代表块可操作状态-命令模式(比如删除Cell,必须回到蓝色),与linux编辑器vi/vim类似,编辑模式和命令模式之间可以用Esc和Enter来切换。
- 编辑模式
- 命令模式
Code单元格操作
-
新建Cell
从快捷工具栏中新建Code Cell
hover在Cell间隙区域新建Code Cell
- 运行Cell
运行中状态:
运输后结果输出:
运输后结果输出结果过长时:
- 中止Cel运行 如果发现代码并不尽如人意, 可以点击中断按钮, 打断所有Cell代码的执行
- 折叠Cell
- 其他操作
-
Linux命令
运行Linux命令的方式是在Linux命令前加一个
!
,就可以在块里运行示例1:安装第三方包
示例2:查看当前环境中的Python版本和Paddle版本
-
Magic关键字
Magic关键字是可以运行特殊的命令. Magic 命令的前面带有一个或两个百分号(% 或 %%), 分别代表
行Magic命令
和Cell Magic命令
.行Magic命令
仅应用于编写Magic命令时所在的行, 而Cell Magic命令
应用于整个Cell.
Magic关键字 | 含义 |
---|---|
%timeit | 测试单行语句的执行时间 |
%%timeit | 测试整个块中代码的执行时间 |
%matplotlib inline | 显示 matplotlib 包生成的图形 |
%run | 调用外部python脚本 |
%pdb | 调试程序 |
%pwd | 查看当前工作目录 |
%ls | 查看目录文件列表 |
%reset | 清除全部变量 |
%who | 查看所有全局变量的名称,若给定类型参数,只返回该类型的变量列表 |
%whos | 显示所有的全局变量名称、类型、值/信息 |
%xmode Plain | 设置为当异常发生时只展示简单的异常信息 |
%xmode Verbose | 设置为当异常发生时展示详细的异常信息 |
%debug | bug调试,输入quit退出调试 |
%bug | 调试,输入quit退出调试 |
%env | 列出全部环境变量 |
示例1: 使用 %%timeit测算整个块的运行时间.
示例2: 块可集成Matplotlib,从而进行绘图, 但需要注意绘图前需要输入%Matplotlib inline并运行, 否则即使运行终端可用的绘图代码段, cell也只会返回一个文件说明, 如下图所示
示例3: 查看所有支持的Magic关键字.
Markdown编辑区
Markdown Cell是Notebook中文本编辑单元,通过在Markdown Cell中输入Markdown格式的文本,可以编写文字教程说明.
命令/编辑模式
绿色代表块内容可编辑状态-编辑模式(比如输入文字),蓝色代表块可操作状态-命令模式(预览md展示样式),编辑模式和命令模式之间可以用Esc和Enter来切换。
- 编辑模式
- 命令模式(预览样式)
Markdown单元格操作
- 新建Cell 从快捷工具栏中新建Markdown Cell
hover在Cell间隙区域新建Markdown Cell
- 编辑Cell 支持插入公式、表格、图片、音乐、视频、网页等. 相关Markdown用法可以参考Markdown官网.
状态监控区
环境变量
运行历史
终端
用户可以使用终端来进行一些操作, 与Notebook主界面并行, 例如查询GPU占用率. 或进行文本编辑.
注意:
- Terminal未开放sudo权限.
- 最多可同时使用3个终端.
快捷键操作
快捷键列表
Notebook的命令模式和编辑模式都提供了丰富的快捷键,查看Notebook快捷键。
常用操作列表
模式 | 内容 | 快捷键(Windows) | 快捷键(Mac) |
---|---|---|---|
命令模式 (Esc 切换) |
运行块 | Shift-Enter | Shift-Enter |
命令模式 | 在下方插入块 | B | B |
命令模式 | 在上方插入块 | A | A |
命令模式 | 删除块 | d-d | d-d |
命令模式 | 切换到编辑模式 | Enter | Enter |
编辑模式 (Enter 切换) |
运行块 | Shift-Enter | Shift-Enter |
编辑模式 | 缩进 | Clrl-] | Command-] |
编辑模式 | 取消缩进 | Ctrl-[ | Command-[ |
编辑模式 | 注释 | Ctrl-/ | Command-/ |
编辑模式 | 函数内省 | Tab | Tab |
如果遇到Notebook环境异常,或者保存代码失败。请提交工单联系群管解决