开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
AR与VR
自然语言处理
知识图谱
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
智能农业
信息服务
智能园区
智能硬件
AI Studio

    Notebook环境使用说明

    目录

    1. 页面概览
    2. 菜单栏
    3. 快捷工具栏
    4. 编辑区 Code Cell
      4.1 命令/编辑模式
      4.2 Code Cell操作
    5. 编辑区 Markdown Cell
      5.1 命令/编辑模式
      5.2 Markdown Cell操作
    6. 终端
    7. 侧边栏
      7.1 环境信息
      7.2 文件夹
      7.3 数据集
      7.4 版本
      7.5 任务

      7.6 设置

    8. 状态监控区
      8.1 环境变量
      8.2 运行历史
      8.3 性能监控
    9. 快捷键操作
    10. 版本管理

    页面概览

    Notebook是用户运行Notebook类型的项目后,在浏览器端所看到的交互式编程界面。

    BasicLayout.png

    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.

    快捷工具栏

    Notebook2.png

    • 运行 :运行当前选中的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来切换。

    • 编辑模式

    image.png

    • 命令模式

    image.png

    Code Cell操作

    • 新建Cell

      从快捷工具栏中新建Code Cell

    hover在Cell间隙区域新建Code Cell

    • 运行Cell

    运行中状态:

    运输后结果输出:

    image.png

    运输后结果输出结果过长时:

    • 中止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测算整个块的运行时间.

    Notebook3.png

    示例2: 块可集成Matplotlib,从而进行绘图, 但需要注意绘图前需要输入%Matplotlib inline并运行, 否则即使运行终端可用的绘图代码段, cell也只会返回一个文件说明, 如下图所示

    Notebook4.png

    示例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占用率. 或进行文本编辑.

    Notebook5.png

    注意:

    1. Terminal未开放sudo权限.
    2. 最多可同时使用3个终端.

    侧边栏

    文件夹

    Notebook7.png

    按照树形结构展示/home/aistudio路径下的文件夹和文件。可以在该目录下进行如下操作:

    • 文件夹操作: 创建新的文件夹. 鼠标悬浮在文件夹条目上, 会出现操作按钮, 包括删除文件夹、重命名文件夹、路径复制.
    • 文件操作: 创建上传文件(上传的单个文件最大 150 MB). 鼠标悬浮在文件条目上, 会出现操作按钮, 包括下载文件、重命名文件、路径复制.
    • 更新操作:如果在代码运行过程中磁盘里的文件更新了,可以手动刷新, 在侧边栏查看文件更新的状态.
    • 注意:/home/aistudio/data是非持久化目录,请不要将您的文件放到该目录下,重启后,文件将会丢失.

    环境信息

    展示环境硬件和软件信息

    image.png

    其中,

    硬件信息是指当前环境的硬件配置.

    GPU资源信息是指当前用户的算力卡余额, 与本周可使用GPU环境的时长配额余额. 当GPU环境的时长配额余额为0时, 用户只能使用CPU环境进入Notebook, 但可以提交基于GPU环境的后台任务.

    环境配置是该环境的镜像与Python编译器配置.

    终端连接则是您在此处可以使用终端模式来操作该环境内容.

    数据集

    在数据集栏中, 可以复制数据集文件的路径, 并置于代码中. 复制数据集路径成功则出现对应提示: image.png

    在运行过程中, 如数据集内容发生变化, 并不会自动变更, 需要项目环境重启后才能看到.

    数据集文件通常存于文件夹/data/路径下.

    版本管理

    image.png

    用于保存项目空间中的重要文件, 以及恢复.

    用户最多可以生成5个版本, 并制定不同的版本名称.

    image.png

    注意: 加载版本时, 执行的是全量覆盖操作, 即先清空该项目空间中全部内容, 然后把版本内容复制进去. 如果您当前项目环境中存在A文件, 但历史版本中不含有A文件, 则加载后A文件会消失.

    后台任务

    由于Notebook有高级版(GPU)环境每周运行总时长限制(70小时/周), 以及Notebook离线运行时长最多2小时, 如果需要突破这两种限制, 可以使用Notebook中的后台任务.

    image.png

    后台任务基于一个版本, 可以将全部版本内容提交至后台的GPU服务器上进行运行, 然后可以将运行后的结果全量返回并再次导入Notebook环境中的一种机制.

    后台任务不依赖当前Notebook的硬件环境, 因此无论在普通版(CPU)环境, 还是在高级版(GPU)环境中, 均可以创建并提交.

    后台任务运行于后台GPU单卡服务器上, 因此从运行开始即消耗GPU算力卡时长. 同样, 提交该任务需要用户算力卡余额>0.

    image.png

    当任务完成后, 用户可以将任务生成结果导入Notebook空间中, 其中, 如Notebook文件的Code Cell执行后, 返回结果将直接写入Notebook Code Cell下方的输出区.

    image.png

    任务根据其状态, 可以将结果导入Notebook环境中, 或下载到用户本地电脑. 任务可以删除.

    同时, 在项目预览页面中, 用户也可以管理已经提交任务, 进行中止, 删除, 或下载运行后的结果.

    image.png

    Limit: 每个任务最大运行时长72小时(不含排队时间). 每个任务最大输出结果20GB. 超过会导致任务失败.

    设置

    image.png

    • 设置关闭后环境继续运行时间 您关闭Notebook页面后,我们将继续为您保留一段时间的环境资源,代码将继续执行. 您可以通过设置配置希望在关闭网页后,环境继续运行的时间.
    • 设置Notebook内容自动保存时间
    • 设置是否显示Cell序号
    • 设置每个Code Cell下是否显示运行时长和结束时间
    • 编辑区基础字号设置, 适应不同人群和场景

    状态监控区

    image.png

    环境变量

    image.png

    运行历史

    image.png

    性能监控

    由于Notebook环境为虚拟机环境, 因而常规的命令如top 1等无法获得真实的工作负荷情况. 如需要获知CPU/GPU负荷, 或内存/显存占用率, 请使用"性能监控"模块进行观察.

    image.png

    快捷键操作

    • 常用操作列表
    模式 内容 快捷键(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个附带文件.

    AddAVersion2.gif

    加载历史版本

    用户可以正在编辑的内容会自动置为"草稿"版本, 如果用户对草稿版本的内容不满意, 可以重新加载历史上的版本以重新开始.

    注意: 加载历史版本为全量操作, 即当前草稿版本的内容会被全部清空.

    分享项目内容

    Notebook项目在没有版本的时候无法公开, 此举是为了保证用户fork您的项目时, 可以获得完整的Notebook及其依赖文件, 这样其他用户才能顺利运行该项目.

    • 下方为缺乏版本而不能公开的示例:

    SetPublic.gif

    上一篇
    Notebook项目
    下一篇
    BML Codelab环境使用说明