Notebook环境使用说明
目录
- 页面概览
- 菜单栏
- 快捷工具栏
- 编辑区 Code Cell
4.1 命令/编辑模式
4.2 Code Cell操作 - 编辑区 Markdown Cell
5.1 命令/编辑模式
5.2 Markdown Cell操作 - 终端
-
侧边栏
7.1 环境信息
7.2 文件夹
7.3 数据集
7.4 版本
7.5 任务7.6 设置
- 状态监控区
8.1 环境变量
8.2 运行历史
8.3 性能监控 - 快捷键操作
- 版本管理
页面概览
Notebook是用户运行Notebook类型的项目后,在浏览器端所看到的交互式编程界面。
Notebook由以下这几个部分构成:
- 菜单栏
- 快捷工具栏
- 代码编辑区 Code Cell
- 代码编辑区 Markdown Cell
- 侧边栏
- 状态监控区
以下对每个部分的操作分别说明.
菜单栏
-
文件 :对整体项目文件的操作.
- 保存选中文件: 保存当前Notebook文件(仅保存Notebook文件). - 导出Notebook文件为ipynb: 将Notebook下载为ipynb文件在本地jupyter环境直接运行. - 导出Notebook为py: 将 **Notebook** 下载为py文件并通过shell命令执行. - 导入ipynb为Notebook: 将本地编写好的ipynb文件直接上传到Notebook环境中运行. 文件导入为覆盖式导入, 请慎重操作. - 生成新版本: 为了更好的管理项目内容, 或进行公开项目等操作, 需要提前生成版本. 版本即为Notebook文件加上一定数量附件的集合. 一个项目下最多可以有5个版本. 当生成更多版本时, 将进行循环覆盖(最新版本覆盖掉最老版本). - 加载历史版本: 用户可以使用历史版本来覆盖掉当前环境的全部内容, 实现版本回滚. 该操作为全量操作(即清空当前全部内容及文件, 然后将历史版本全部文件导入), 请慎重操作.
- 编辑 :对cell单元的操作.
- 运行 :不同方式的cell运行命令.
- 代码执行器 :对环境的操作. 中断:中断cell运行. 重启环境:清空环境缓存变量和环境输出. 全部运行cell前建议先执行此操作.
- 帮助 :使用帮助,包括快捷键、使用说明、常见问题和飞桨API.
快捷工具栏
- 运行 :运行当前选中的code cell.
- 全部运行 :运行全部code cell.
- 中断 :中断运行某个code cell.
- 重启 :重启代码执行器,清空环境中的环境变量、缓存变量、输出结果.
- 保存 :保存Notebook项目文件.
编辑区 Code Cell
Code Cell是Notebook的代码编写单元。用户在Code Cell内编写代码(支持Python2、Python3)和shell命令,代码/命令在云端执行,并返回结果到Code Cell.
命令/编辑模式
绿色代表块内容可编辑状态-编辑模式(比如输入代码),蓝色代表块可操作状态-命令模式(比如删除Cell,必须回到蓝色),与linux编辑器vi/vim类似,编辑模式和命令模式之间可以用Esc和Enter来切换。
- 编辑模式
- 命令模式
Code Cell操作
-
新建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 Cell
Markdown Cell是Notebook中文本编辑单元,通过在Markdown Cell中输入Markdown格式的文本,可以编写文字教程说明.
命令/编辑模式
绿色代表块内容可编辑状态-编辑模式(比如输入文字),蓝色代表块可操作状态-命令模式(预览md展示样式),编辑模式和命令模式之间可以用Esc和Enter来切换。
- 编辑模式
- 命令模式(预览样式)
Markdown Cell操作
- 新建Cell 从快捷工具栏中新建Markdown Cell
hover在Cell间隙区域新建Markdown Cell
- 编辑Cell 支持插入公式、表格、图片、音乐、视频、网页等. 相关Markdown用法可以参考Markdown官网.
终端
用户可以使用终端来进行一些操作, 与Notebook主界面并行, 例如查询GPU占用率. 或进行文本编辑.
注意:
- Terminal未开放sudo权限.
- 最多可同时使用3个终端.
侧边栏
文件夹
按照树形结构展示/home/aistudio
路径下的文件夹和文件。可以在该目录下进行如下操作:
- 文件夹操作: 创建新的文件夹. 鼠标悬浮在文件夹条目上, 会出现操作按钮, 包括删除文件夹、重命名文件夹、路径复制.
- 文件操作: 创建上传文件(上传的单个文件最大 150 MB). 鼠标悬浮在文件条目上, 会出现操作按钮, 包括下载文件、重命名文件、路径复制.
- 更新操作:如果在代码运行过程中磁盘里的文件更新了,可以手动刷新, 在侧边栏查看文件更新的状态.
- 注意:
/home/aistudio/data
是非持久化目录,请不要将您的文件放到该目录下,重启后,文件将会丢失.
环境信息
展示环境硬件和软件信息
其中,
硬件信息是指当前环境的硬件配置.
GPU资源信息是指当前用户的算力卡余额, 与本周可使用GPU环境的时长配额余额. 当GPU环境的时长配额余额为0时, 用户只能使用CPU环境进入Notebook, 但可以提交基于GPU环境的后台任务.
环境配置是该环境的镜像与Python编译器配置.
终端连接则是您在此处可以使用终端模式来操作该环境内容.
数据集
在数据集栏中, 可以复制数据集文件的路径, 并置于代码中. 复制数据集路径成功则出现对应提示:
在运行过程中, 如数据集内容发生变化, 并不会自动变更, 需要项目环境重启后才能看到.
数据集文件通常存于文件夹/data/路径下.
版本管理
用于保存项目空间中的重要文件, 以及恢复.
用户最多可以生成5个版本, 并制定不同的版本名称.
注意: 加载版本时, 执行的是全量覆盖操作, 即先清空该项目空间中全部内容, 然后把版本内容复制进去. 如果您当前项目环境中存在A文件, 但历史版本中不含有A文件, 则加载后A文件会消失.
后台任务
由于Notebook有高级版(GPU)环境每周运行总时长限制(70小时/周), 以及Notebook离线运行时长最多2小时, 如果需要突破这两种限制, 可以使用Notebook中的后台任务.
后台任务基于一个版本, 可以将全部版本内容提交至后台的GPU服务器上进行运行, 然后可以将运行后的结果全量返回并再次导入Notebook环境中的一种机制.
后台任务不依赖当前Notebook的硬件环境, 因此无论在普通版(CPU)环境, 还是在高级版(GPU)环境中, 均可以创建并提交.
后台任务运行于后台GPU单卡服务器上, 因此从运行开始即消耗GPU算力卡时长. 同样, 提交该任务需要用户算力卡余额>0.
当任务完成后, 用户可以将任务生成结果导入Notebook空间中, 其中, 如Notebook文件的Code Cell执行后, 返回结果将直接写入Notebook Code Cell下方的输出区.
任务根据其状态, 可以将结果导入Notebook环境中, 或下载到用户本地电脑. 任务可以删除.
同时, 在项目预览页面中, 用户也可以管理已经提交任务, 进行中止, 删除, 或下载运行后的结果.
Limit: 每个任务最大运行时长72小时(不含排队时间). 每个任务最大输出结果20GB. 超过会导致任务失败.
设置
- 设置关闭后环境继续运行时间 您关闭Notebook页面后,我们将继续为您保留一段时间的环境资源,代码将继续执行. 您可以通过设置配置希望在关闭网页后,环境继续运行的时间.
- 设置Notebook内容自动保存时间
- 设置是否显示Cell序号
- 设置每个Code Cell下是否显示运行时长和结束时间
- 编辑区基础字号设置, 适应不同人群和场景
状态监控区
环境变量
运行历史
性能监控
由于Notebook环境为虚拟机环境, 因而常规的命令如top 1等无法获得真实的工作负荷情况. 如需要获知CPU/GPU负荷, 或内存/显存占用率, 请使用"性能监控"模块进行观察.
快捷键操作
- 常用操作列表
模式 | 内容 | 快捷键(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文件, 而最大可以达到1GB, 可包含至多1000个附带文件.
加载历史版本
用户可以正在编辑的内容会自动置为"草稿"版本, 如果用户对草稿版本的内容不满意, 可以重新加载历史上的版本以重新开始.
注意: 加载历史版本为全量操作, 即当前草稿版本的内容会被全部清空.
分享项目内容
Notebook项目在没有版本的时候无法公开, 此举是为了保证用户fork您的项目时, 可以获得完整的Notebook及其依赖文件, 这样其他用户才能顺利运行该项目.
- 下方为缺乏版本而不能公开的示例: