跳到主要内容
版本:3.2

开发环境

开发环境功能详解

1.创建开发环境

普通用户登录系统,进入【开发环境】页面,可以创建自己的开发环境,目前支持Caffe、TensorFlow、Mxnet、Pytorch、PaddlePaddle和other框架。在选择数据集后,创建开发环境和拉取数据集是并行执行。下面以Caffe框架为例介绍完整的创建流程。 1.点击右上角创建按钮,开始创建开发环境,如下图: image 2.选择对应框架的镜像。TensorFlow的镜像在TensorFlow标签页下,其他框架也是如此。 image 3.配置开发环境 创建开发环境时,自动根据当前的日期和时间进行开发环境的名称的命名。用户可以修改开发环境名称。 用户可以选择开发环境要创建到的资源组;配置开发环境所使用的加速卡个数和CPU的核数。 image 若资源组存在不同加速卡类型的节点,选择具体的加速卡类型之后,开发环境会调度到相应加速卡类型的物理机上。image 点击数据集路径右侧的文件夹图标,在弹出的路径选择窗口中选择要使用的数据集。支持选择多个数据集。数据集可以在用户目录、公共目录、数据集目录中选择。image 平台提供是否更新数据集的开关,如果勾选则进行两种方式的更新,第一种平台会自动识别数据集的变化,如果是源数据集部分更新,则会进行增量更新方式,把增量的部分下载到缓存数据集中,第二种如果缓存没有数据集,会自动重新拉取数据集到缓存目录中。 平台提供使用方式的选项,分别是“节点缓存”、“直接使用”,默认读取安装配置时的选项(如果安装时设置的是节点缓存,那么默认选中节点缓存,反之相同)。 节点缓存,是指将选择的数据集下载到开发环境所在节点,挂载到开发环境中使用。 直接使用,是指将选择的数据集直接挂载在开发环境中使用,不对数据集进行缓存;(AIStation计算节点上文件管理的数据是通过共享存储挂载的) 提示:如果缓存的计算节点上其他任务也在使用该数据集,则不能进行更新操作。image 点击更多选项,可以选择开发环境的更多的设置。 image 内存:大小默认为0,表明不限制内存。用户可以自行设置。
端口:可以让用户自行设置一个用户需要的端口,多个端口用英文分号隔开。
shm_size:share memory size。默认4Gb。
副本数:一次创建多个开发环境。
右边显示节点:可以在右边的窗口中指定开发环境运行的节点。
在开发环境创建完成之后。 image 可以查看该用户目前未删除开发环境的总体情况,包括: a) 开发环境概况信息列表:包括环境名称,状态,运行时间,资源,所在节点,使用镜像,创建时间和操作(包括SSH连接、克隆、删除、资源调整) b) 用户开发环境的统计:用户的开发环境数,活跃数,加速卡和CPU的使用情况 在开发环境列表中,拥有的操作有:SSH连接,克隆,资源调整、删除 。点击操作第一个按钮,是打开SSH连接(密码做加密处理,点击"复制"获取密码) image 复制连接命令和SSH密码,打开Xshell可以登录该开发环境的命令行界面,进行Linux下操作。如果是windows下使用,把参数中的-p去掉。image 点击第二个按钮,是对该开发环境进行克隆,即创建一个相同配置,相同镜像的开发环境。首先弹出即将克隆环境的信息,主要包括镜像、配置、数据信息、副本数等。点击确定,开始克隆。 image 克隆成功后,开发环境列表中出现新克隆的开发环境。 image 开发环境还可以从历史记录中快速创建新的开发环境,历史记录显示的最近创建的5个开发环境。点击5个开发环境中的一个,即可开始快速创建。 image 选中后,用户可以对资源配置等重新设置。 image

2.开发环境使用

点击开发环境名称,进入开发环境页面,开发环境有五个标签页。 image Jupyter:一个集成的开发环境。用户可以在此页面进行代码的编写。image shell终端:用户可以调试代码或者提交任务,如果使用的环境是加速卡共享模式 (显存隔离),则在开发环境中运行的任务,可以通过nvidia-smi查看自己的任务进程信息。 image 在每个用户的/账号目录下都有一个以用户名命名的文件夹,这个文件夹下默认是空的,如需相关框架的脚本,需要到共享目录下面拷贝相关的脚本到个人目录。 image Caffe文件夹内容如下: image Caffe启动命令。如下:

caffe train --solver=/{user_name}/caffe/solver_lenet.prototxt --加速卡 all

注意:
solver_lenet.prototxt train_lenet.prototxt test_lenet.prototxt中的相关路径需要根据实际用户路径进行替换。
各个文件中的路径需要使用绝对路径。
Mpi相关命令需要在前面加上mpirun --oversubscribe --allow-run-as-root -np 2
np表示需要的卡数,相关框架需要支持mpi才可以使用mpi命令)
容器实例:容器相关信息,包括容器名称、状态、节点IP和容器IP、端口。并且显示该容器监控的资源使用率 image 基本信息:开发环境的基本信息。 image 数据集:数据集信息如下。需要注意的是,只有在创建开发环境选择数据集时才有权限查看该页面。 image

3.开发环境关联功能

用户可以在开发环境中进行对其他功能模块的调用。 image 保存镜像:用户可以在原有镜像的基础上进行修改,填写镜像名称、标签和备注,并保存成自己的镜像。 image 注意:镜像名称和标签需要满足Docker官方规范,只能包括小写字母、数字、下划线" _ "连接线"-"、反斜线"/",且只能使用小写字母或数字开头,并且特殊字符(下划线、连接线、反斜线)不能连续使用。
如果保存镜像,两个小时还没有保存完成,则会自动结束,进度条会显示异常信息,同时,后台回滚删除垃圾数据。
一键提交:用户在开发环境开发完成后,可以点击一键提交将开发环境的代码作为训练任务进行提交。这时,页面已经跳转到训练平台,输入相关配置,开始训练任务。 image 用户可以跳转到训练任务页面进行提交训练任务。用户还可以选择更多配置信息image 训练任务:在开发环境的右上边点击训练任务按钮,可以快速查看用户一键提交的训练任务的概况,包括名称,状态,资源配置和镜像。列表中的任务只展示状态为排队中和运行中的。imageimage

4.重新启动停止状态的开发环境

点击左侧导航栏中的开发环境,打开开发环境列表,选中一个停止状态的开发环境,在列表的右侧操作栏中,点击启动按钮(如下图),可以重新启动已经停止的开发环境。 image image image

5.克隆开发环境

点击左侧导航栏中的开发环境,打开开发环境列表,选中一个开发环境,在列表的右侧操作栏中,点击克隆按钮(如下图),可以克隆一份和当前开发环境一样的开发环境。 image image image

6.开发环境SSH连接

当创建完成开发环境后,用户可以通过Xshell或者其他ssh连接工具进行开发环境的SSH连接。 点击左侧导航栏中的开发环境,打开开发环境列表,选中一个开发环境,在列表的右侧操作栏中,点击SSH按钮(如下图),显示开发环境的ssh信息,如下:image 注意事项:
1.如果是用新窗口的Xshell连接时,需要把-p参数去掉。image
2.如果是在已有打开的连接时,直接复制进行连接。image
3.如果通过pycharm或者vscode开发工具连接开发环境,需要终端安装指定的开发工具版本, PyCharm版本 2018.3 (Professional Edition)。连接方式可以按照官方的规定进行连接。或者可以参考《Pycharm连接Aistation开发环境》。

7.开发环境可视化

点击左侧导航栏中的开发环境,打开开发环境列表,选中一个开发环境,点击进入开发环境中,在几个功能tab的右上角点击“可视化”按钮,选择对应的可视化平台,然后选择日志,点击确定后,在新的浏览器窗口中打开可视化环境的web访问页面,目前支持TensorBoard(需要选择日志)、Visdom(需要选择日志)、Netscope(不需要选择日志); image image image

选择了对应的日志后,平台会自动打开一个新窗口展示可视化。 image

8.开发环境数据集缓存列表

开发环境选择数据集创建后,可以在列表中看到开发环境缓存数据集的整体进度,另外鼠标放到进度上,还可以看到每个数据集的进度明细,如果数据集缓存失败,还可以看到错误的明细等信息; image image

9.开发环境资源调整

对运行中的开发环境进行资源调整(只支持对运行中的开发环境进行调整),如下图所以,在开发环境列表页,选中需要调整的开发环境,点击资源调整按钮,可以调整该开发环境的cpu、加速卡等资源,注意,资源调整首先会删除现有的开发环境然后重建新的开发环境,原有开发环境中的数据不做备份(用户目录除外); image image

10.开发环境默认SSH密码设置

开发环境默认ssh密码设置分为两种,一种是随机密码(默认),一种是固定密码,首先在开发环境列表页点击密码设置,可以设置随机密码还是固定密码,如果是随机密码,每次创建的开发环境对应的ssh密码都不同,如果设置的是固定密码,每次创建的开发环境的ssh密码都是固定不变的,如下所示: image image image image

11.开发环境列表

点击左侧导航栏中的开发环境,打开开发环境列表页面,页面中展示用户创建的开发环境列表,页面顶部展示用户所使用资源的概要信息,包括当前开发环境、活跃数、CPU已用、加速卡独占、GPU复用。image 当前开发环境:当前用户所属的开发环境数量; 活跃中:当前用户所属不是停止、排队中的开发环境数量 CPU已用:当前用户所属活跃中的开发环境所占用的CPU数量 加速卡独占:当前用户所属活跃中并且使用加速卡整卡的开发环境的加速卡的数量 GPU复用:当前用户所属活跃中并且不使用加速卡整卡的开发环境的加速卡的数量