跳到主要内容

代码开发

代码开发子模块,深度贴合用户习惯,支持代码命令行形式交互式建模,支持WEB页面训练代码上传,选择对应数据集和脚本进行代码训练。

创建开发项目

路径:人工智能 --- 代码开发与训练 --- 代码开发

alt text

alt text

  • 代码来源:选择本地(外部代码仓库可能因为网络限制无法访问)
  • 模型二次开发:若希望再次开发模型库中的已有模型,则选择模型,否则不用选择。

开发环境(容器)

创建开发环境

通过创建容器,选取镜像与ACD资源搭建AI开发环境。开发环境运行状态可在HPC三期平台门户 --- 作业管理 --- K8S作业中查看

alt text

  • 容器镜像:从镜像中心选择运行开发环境的镜像;

  • 使用conda环境:开启后,自动激活选择的conda环境。需要镜像安装了代码开发环境依赖包才可使用。如需使用Jupyter显示conda环境,请在conda环境中安装ipykernel软件包,安装命令conda install ipykernel

  • 数据集:可以选择平台上的数据集,启动环境后会挂载到指定路径,也可以启动后上传

  • 资源来源:选择资源池,默认为共享资源池(平台所有用户共享);如申请包机,可选择专属包机资源池

  • 节点数量:此处的节点是K8s中的Pod。当 Pod 数量>1时,每个 Pod 均会配置上述资源规格,将变成分布式运行环境(需要算法代码支持分布式训练)

使用开发环境

环境目录

启动开发环境后,平台会生成下列可持久化的目录。开发环境停止时,可持久化目录中的数据依然存在。

  • code: 项目代码开发目录的本地副本,可读写。**删除项目时会被一并删除。

  • outputs: 存放项目用户私有输出文件,可读写。请将输出的模型文件放入此目录,发布模型时,会将此目录中的文件发布到模型包的模型目录中。删除项目时会被一并删除。

  • userdata: 存放用户私有文件,即个人空间中的“我的文件”,可读写。删除项目时不会受影响。

  • teamdata: 存放用户组共享文件,即个人空间中的“用户组文件”,可读写。项目删除不会受影响。

  • sample 平台提供的推理开发样例文件,只读。若开发推理模型,可参考目录下的Readme文档、样例和模板。

  • adhub: 存放启动时新增的数据集文件,只读。

  • models: 存放从模型库导入的二次开发的模型,只读。

JupyterLab

开发环境启动后,如果镜像中安装了JupyterLab环境,将会调度资源完成对应环境的创建,可以启动Jupyterlab窗口并在其中进行代码开发。如果申请的是分布式多节点资源,运行在master节点上。

在开发工具栏中打开 Jupyter,可自由使用 JupyterLab 开发环境,可上传、创建、编辑、删除文件,进行代码开发、调试、训练和评估。

alt text

VSCode

开发环境启动后,环境启动后,如果镜像中安装了VSCode环境,将会调度资源完成对应环境的创建,可以启动VSCode窗口并在其中进行代码开。发如果申请的是分布式多节点资源,运行在master节点上。

在开发工具栏中打开网页版 VSCode,选择“yes,I trust the authors”,可自由使用 VSCode 开发环境,可上传、创建、编辑、删除文件,进行代码开发、调试、训练等操作。

alt text

SSH

开发环境启动后,如果镜像中安装了SSH服务,将会调度资源完成SSH通道的创建,即可看到SSH访问的信息,如果添加的是分布式多节点,只会提供master节点的访问通道。

界面中给出了 SSH 的命令和密码。在本地开发环境中,安装 SSH 插件,建立与平台开发环境的 SSH 连接,在本地即可远程访问开发环境。

每次重新启动开发环境后,需要重新连接。

Netron

在开发工具中点击Netron图标,在打开的新窗口选择模型文件,即会在新窗口中显示此模型文件的网络结构。

alt text

alt text

Conda环境

可以使用平台预置的 Conda 环境进行代码开发,或配置并使用自己的 Conda环境。

路径:人工智能 --- 基础服务 --- Conda环境

进入 Jupyter 的 Terminal,可以使用 conda 通用指令进行查看和管理 Conda环境。

  • 查看环境列表:conda env list
  • 创建环境: conda create -n {环境名称}
  • 激活环境:conda activate {环境名称}

推理开发框架

提示

参考开发环境中sample目录Readme文件

推理测试

开发环境启动推理服务后(运行start.py文件),在推理调试页面中,选择推理数据类型,设置推理服务的监听端口和访问断点,上传测试文件,推理调试工具将会向该服务的访问端点路径发起HTTP请求,请求被响应后即可查看返回的推理结果。

检查返回的推理结果是否正确,若不正确,则需要根据提示信息调整推理服务代码。

配置推理结果可视化:若需要在页面图形化显示推理结果,请打开可视化开关,并根据状态提示进行配置。

alt text

alt text

交互式端口

交互式端口是用于给开发环境开放额外端口用于其他访问。点击“新增端口”按钮,在弹框中输入端口名称和要开放的端口号,确定后即可。

如果启动开发环境时配置了分布式多节点,只展示 master 节点的可交互端口。

alt text

镜像保存

如果在开发环境中安装了软件包,包括使用 pip 或 conda 等命令安装的软件包、conda 环境,并且希望在下次运行开发环境时继续使用这些软件包,请及时保存镜像。

在项目详情中点击“保存镜像”按钮,输入镜像名称和 tag,点击确定即可保存镜像到镜像中心 --- 我的镜像中,也可以将环境中的代码和模型文件一并打包到镜像中。

如果启动开发环境时配置了分布式多节点,只会保存 master 节点。

alt text

停止开发环境

停止开发环境后会释放资源,不在可持久化目录中的数据也会被清空,包括使用 pip、conda 等指令安装的软件包。 停止环境前,请务必确认是否保存了镜像。