算法开发
开发深度学习算法
简介
Notebook 操作流程
以下为 Notebook 模块操作流程图

- 当用户需要从无到有开发算法时,首先需要创建 Notebook ,期间可以根据自己的需要进行一系列相关配置。
- Notebook 创建完成后,即可在界面上点击「打开」进入 JupyterLab 界面进行代码编辑。如果用户在本地已有代码,也可直接上传。
- 代码编辑完成后,还可进行在线运行代码。算法开发完成后,可点击「保存算法」,将开发完成的算法保存到「算法管理」的「我的算法」中。
算法管理操作流程
以下为算法管理模块操作流程图:

- 用户首先需要准备算法,算法的获取途径有四种:
- 在「我的算法」页面中上传算法。
- 使用「预置算法」页面中的预置算法。
- fork 已有算法。
- 从 Notebook 列表中保存算法。
- 在 Notebook 列表中创建一条Notebook后在线编辑。编辑完成并保存算法后,可使用该算法创建训练任务,进入后续的训练环节。
- 「我的算法」是用户创建的算法列表,可进行上传算法、在线编辑、创建训练任务、下载、 fork 、删除等操作。
- 「预置算法」是自带参数、命令、镜像等信息的算法列表,可快速创建训练任务,并可进行下载、 fork 等操作,管理员权限支持上传、删除预置算法等操作。
案例管理(管理员端功能)
该功能是管理员发布公共实验案例,可以供普通用户端创建notebook,进行在线算法实验。系统内置了多个已发布的案例实验环境,普通用户可直接使用

创建环境
系统支持新建案例环境进行发布,操作步骤如下:
- 点击「创建环境」按钮

- 在弹出的信息框中输入创建环境的名称、描述、运行环境以及上传包含算法代码的资源文件

- 点击「确认」按钮
这边创建的速度根据资源文件的大小有关,资源文件的大小不超过4个G

- 创建完成后在环境列表中可以找到相关记录

删除环境
点击右侧「删除」按钮,删除单条记录

也可选择多个环境记录,点击「批量删除」按钮,一键删除多条记录

Notebook
Notebook 是一种交互式编程环境,AI 开发者可以在云端进行机器学习的开发。该模块集成了开源的 JupyterLab ,可支持开发者在线编辑、调试、运行代码,同时预置了 OneFlow,PyTorch,TensorFlow 等多种深度学习框架,用户可在多种框架之间自由切换。每个 Notebook 都是一个独立的编程环境,用户可以对 Notebook 实现创建、打开、停止、启动、删除等操作,算法开发完成之后,还可以将其保存到「算法管理」的「我的算法」中,从而可以进行后续的训练工作。
Notebook 列表
用户可在该界面中查询到属于自己创建的 Notebook 信息,并可对 Notebook 进行创建、打开、停止、启动、删除、保存算法、搜索等操作。
- 进入列表
点击左侧菜单,进入 Notebook 列表页面:
- Notebook 列表中创建的 Notebook,可进行启动、删除、打开、停止、保存算法等操作。

- 「启动中」、「停止中」状态的 Notebook ,不可以进行任何操作。
- 点击「保存算法」,可以将 Notebook 中包含的算法保存到算法管理列表中。
- 点击「一键停止」,可以停止所有运行中的 Notebook。
特殊说明: Notebook 默认将会在启动后八小时自动关闭,请及时保存您的代码。Notebook 自动关闭时间可在控制台-用户管理-修改配置中进行设置。
- 查看详情
点击列表中任意一条 Notebook ,在右侧弹窗中可查看具体的基本信息和规格参数:

创建 Notebook
用户可在该界面中创建 Notebook ,创建成功后, Notebook 会自动启动为运行状态。运行状态的 Notebook 可进行停止、打开、保存算法等操作。
- 点击创建按钮
Notebook 列表中,点击「创建 Notebook」按钮,即可弹出创建 Notebook 窗口

- 填写内容
点击「创建 Notebook」,在弹窗中输入 Notebook 名称,选择开发环境、挂载数据集,选择 CPU 或 GPU 节点规格,Notebook 名称仅支持字母、数字、和下划线,且英文横杠不可在首尾。

- 创建完成
填写完正确信息后,点击「确定」按钮,弹窗关闭, Notebook 列表页提示创建成功,新建的 Notebook 默认启动。启动完成后为「运行中」状态,可进行打开、停止、保存算法等操作。


注意:
- 启动中或停止中的 Notebook 不可以对其进行任何操作。
- Notebook 默认将会在启动后八小时自动关闭,请及时保存您的代码。Notebook 自动关闭时间可在控制台-用户管理-修改配置中进行设置。
打开Notebook
Notebook 模块集成了JupyterLab ,无需配置即可编写、调试、运行代码。同时支持 PyTorch,TensorFlow 等多种深度学习训练框架,开发过程中,用户可在多种框架之间自由切换。
- 点击打开
Notebook 处于运行状态时,可在列表界面点击「打开」,在打开的新窗口中,进入相应的 Notebook 的编辑界面

- 进入JupyterLab
在此页面中可进行算法文件的创建和编辑,左侧新建文件夹/文件,导入文件夹/文件等,右侧选择运行程序的环境,目前支持 Python3,PyTorch,TensorFlow 等环境。

- 开发与调试
可在此开发环境中编写、调试、保存代码程序

Notebook 注意事项
介绍一些 Notebook 在使用过程中的注意事项
- parse_args() 函数
Notebook 不支持 parse_args()函数,如果程序当中用到这个函数,Notebook 执行时会报错:

解决方法: 将 parse_args() 函数改为 parse_known_args()[0] 函数即可解决:

- 安装额外软件包
用户在开发算法的过程中用到的软件包是多种多样的,Notebook 当中提供了一种方法可以让用户安装自己所需要的软件包
- 打开终端

- 启动 bash
- 启动相应虚拟环境,这里选择 oneflow-0.1.0-py36 的环境
- 安装所需软件包,这里以安装 SciPy 为例

安装完成后即可使用 SciPy 包进行开发。
算法管理
算法管理用于保存一些平台预置的算法以及用户自己开发的算法。对于已经保存的算法,用户可以进行创建训练任务、下载、 fork 、删除等操作。算法管理分为「我的算法」和「预置算法」两个页面,用于管理自定义开发和平台预置的算法。
页面简介
- 我的算法
点击「上传算法」,可以上传用户自定义开发的算法,也可从Notebook 列表中点击「保存算法」到算法管理中,对算法可进行创建训练任务、下载、 fork 、删除等操作。

点击算法列表中任意一条算法,可在右侧弹窗中查看和编辑基本信息。

- 预置算法
点击「预置算法」进入预置算法列表,可对列表中的算法进行创建训练任务、下载、 fork 等操作。

上次算法
用户可在此页面上传算法,上传成功后算法会保存到 「我的算法」。
- 在「我的算法」列表页面中,点击「上传算法」。

- 在弹出的窗口中填写信息

注意:
- 算法名称仅支持字母、数字、和下划线,且算法名称不能重复。
- 上传代码包,请将算法文件打成一个 zip 包上传。
zip算法包文件参考如下:

用算法创建训练任务
用户可选择用算法来创建训练任务。
- 在「算法管理」页面(「我的算法」和「预置算法」均可)中,如果需要使用某个算法来创建训练任务,可点击该算法后方的「创建训练任务」按钮。

- 进入创建训练任务页面填写信息

Fork 已有算法
用户在「我的算法」和「预置算法」列表中,通过「 fork 」复制一份新算法。
- 可在「预置算法」界面中,点击「 fork 」。

- 在弹出的窗口中填写信息。

在我的算法列表内会新增一条算法记录

How is this guide?
