Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
PCL_CB2_ZXH 63ae1b1de1 | 1 year ago | |
---|---|---|
pics | 1 year ago | |
README.md | 1 year ago |
考虑到不少同事使用云脑I都会或多或少的遇到一些问题,而且经常会发现大家会问到相同的问题。作为一名老(lao)用(si)户(ji), 建这个仓库(给自己挖坑),一方面分享个人的使用经验,另一方面希望能够收集大家遇到的问题。欢迎大家一起来做贡献~
咳咳,写着写着突然想起云脑I貌似有官方的使用手册,登录云脑I后,在这里选择【helper】
里面有一些帖子和使用手册,大家也可以去这里寻找云脑I使用相关解答。这里我直接贴上官方的教程链接,方便大家直接查看。
PS: 下面截图看起来有点小,请将网页放大后观察 ^_^!
内网访问网址:192.168.204.24/#/openi/v2/home
云脑I主要提供CPU+GPU算力;提供三种类型的GPU加速卡,包括V100,T4和2080Ti;
队列名称 | Driver Version | CUDA Version |
---|---|---|
debugt4 | 450.80.02 | 11.0 |
dgx2 | 470.57.02 | 11.4 |
dgx1 | 450.80.02 | 11.0 |
debug | 440.100 | 10.2 |
PS: 据同事反馈,以上信息不一定完全正确,有时候资源分配可能也不对,以实际为准。
云脑I使用需要有一个账号,同事们可以在OA->个人门户->鹏城云脑资源(左边任务栏)->云脑使用申请。根据自己的需求来填表,完成申请;
云脑I目前通过网页的方式来访问,目前只支持内网访问。如果在外网,需要申请实验室的VPN;我暂时没有使用实验室VPN,实验室VPN申请内容欢迎大家补充;
云脑I基于Docker对物理硬件进行抽象,并进行资源隔离
云脑I提供了两个特殊的目录
云脑I上任务主要分为【训练任务】与【debug任务】
内网用户直接访问网址:http://192.168.204.24/#/openi/v2/home
登录成功后,进入下面界面:
在这个界面一般注意下自己的机时,如果机时所剩不多了,要及时申请。
当机时归0后,有正在跑的任务的话,不会强制结束。但是当机时为0时,不能提交新的debug任务和training任务。
下面进入debug channel选项卡:
这里你需要做的是选取不同的debug队列资源和docker镜像。作为新手,可以选取public镜像,然后用别人做好的镜像。
之后,点击右上角的submit按钮,就可以提交了。此时,会利用你所选取的docker镜像,给你开启一个容器。
在左边任务栏中,选取Job list,可以查看刚才提交的debug任务。
这里可以停止任务(stop按钮),也可以重新提交任务(Resubmit按钮);
点击第一列的Job ID,就可以直接进入任务详情。如下图:
这里可以查看任务的提交时间,运行时间。要进入容器,点击右下方的debug按钮。
之后,我们进入熟悉的jupter-lab页面:
登录云脑I后,选择下面任务栏中的submit job
关注箭头中的几个选项。
add按钮详情
这里需要注意两点:
Replicas参数:这个参数决定你要启动几个相同的docker,一般是做多机并行会修改这个;
Resource Spec: 这个根据自己任务的需求来选择,用CPU还是GPU,用多少块GPU等;
Command:这个里面填写你想在docker中运行的参数;比如:cd /userhome/projects/my_training_test;python model_train.py
说明:
上面配置完成后,点击confirm按钮,退回到之前的界面,点击右上角的submit按钮,完成任务提交;
查看刚才提交的任务:这个跟debug模式的第4点相同。
注意:对于train模式,没有对应的jupyter-lab页面。任务提交后,只能查看自己打印的日志来了解任务的详情;(这点特别想吐槽,为什么不提供train的terminal)
关于train模式下,如何通过terminal登录到训练容器内,可以参考教程链接中的多机通信方案,相信聪明的你一定能在这里发现惊喜(体验自主可控的乐趣[Doge])。
在登录界面选择【修改文件管理服务密码】,修改FTP登录密码:
下载FTP客户端-winscp
配置如下,替换下图中的用户名和密码;注意ip填写192.168.204.94;
点击上图中高级->连接->被动模式(去掉默认的√)。这步必须要完成配置,不然无法读取远程目录
ftp服务连接到远程目录/userhome
。注意,ftp服务不需要提交任务,就能直接读取远程文件。
最直接的办法是在debug模式下,配置好容器后,在查看任务的界面直接commit当前镜像就好(推荐);
在本地做好镜像,将其上传到实验室自建的docker hub上。
user-xxx
(项目的访问级别必须是「公开」,否则pcyn无法读取该项目下的仓库);/etc/docker/daemon.json
中添加配置:"insecure-registries": ["192.168.202.74:5000"]
;Error response from daemon: Get "https://192.168.202.74:5000/v2/": http: server gave HTTP response to HTTPS client
docker login 192.168.202.74:5000
,然后依次输入刚才在pcyn-dockerhub上创建的账户与用户名;docker images
;假定选取镜像ubuntu:latest
;docker tag ubuntu:latest 192.168.202.74:5000/fandd/ubuntu:latest
docker push 192.168.202.74:5000/user-xxx/ubuntu:latest
;test-xxx
下面,就能看到ubuntu
的目录,里面存在一个tag为latest
的镜像;dockerhub.pcl.ac.cn:5000/user-xxx/ubuntu:latest
;如何从公开的docker hub下载镜像源 (以cuda-11.0-pytorch)
这是大家常问的一些问题:
关于用户有提到云脑训练速度慢的问题;
要注意云脑I上面的硬盘情况;在/userhome和/gdata目录下的文件,我理解是存放在机械硬盘上的。而其它目录是存放在本机上的,也就是SSD。由于训练过程中,数据处理部分往往耗时也比较多;如果直接使用/gdata下面的数据集,会造成数据集处理部分耗时严重,影响整个训练效率。
建议:将数据集从/gdata里面拷贝到/mnt等根目录上挂载的目录中,重新训练。
比如,我们使用ImageNet2012-1K数据集;可以在启动脚本里面这样写:
mkdir /mnt/ImageNet2012; cd /gdata/ImageNet2012; cp -r train val /mnt/ImageNet2012; python /userhome/projects/ELSA/train.py
注:拷贝ImageNet2012数据集到本地目录耗时差不多半小时以上,做好心理预期;
有用户反馈镜像包太大了,无法上传;
在做镜像时,只需要把cuda放进去即可;不用在镜像中安装pytorch,tensorflow等其它的包;这些包在进入docker后,利用conda来部署环境,将这些包安装到conda里面,conda放到/userhome下面;这样每次进入docker,直接利用conda激活环境即可。
关于网页日志看不到;
BUG1: cuda error: no kernel image is available for execution on the device
这个bug 问题出现在 Apex(https://github.com/NVIDIA/apex)使用过程中,换机器就会出现,因此需要在每台机器运行命令前,重新编译。
命令为: python setup.py install --cuda_ext --cpp_ext
BUG2: 在使用pytorch时候,可能会出现,程序被断了,但是显存依然在被占用的情况。但是云脑nvidia-smi命令并不会给出程序的PID, 因此需要调用这个命令:(当然保证你的训练命令里是有python的)
ps aux|grep root|grep python
这样就可以看到PID,进而kill掉,释放无用显存。
考虑到不少同事使用云脑I都会或多或少的遇到一些问题,而且经常会发现大家会问到相同的问题。建这个仓库,一方面添加上个人的使用经验,另一方面希望能够收集大家遇到的问题。欢迎大家一起来做贡献~
other
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》