AutoDL炼丹实录
序言
开始炼丹一段时间了,笔记本GPU是1050Ti的,跑个ResNet比我奶奶上楼都慢,所以选择上科技租卡。我现在的炼丹步骤是这样:把代码、数据上传到百度网盘,然后云服务器端下载代码、数据(然后就不用管它了),之后所有的工作都在本地pycharm上进行,很流畅。不用配环境、不用什么Linux操作!
一、创建实例(租卡)
1.什么叫租卡,什么叫云服务器
通俗点说就是:你本身有一台电脑(GPU1050Ti),跑深度学习速度太慢了。租卡,使用云服务器就好比你租了一台牛X新电脑(带有GPU4090)(但是你只能远程使用它,假设这个新电脑在叙利亚,你够不到)。这个新电脑是好啊,可是太新了,除了GPU什么都没有,所以你要把这个新电脑的深度学习环境配好。一听要配环境,ptsd犯了,又要大战pip大战三天三夜。但是别怕,AutoDL不仅租给你电脑,还帮你把基本环境给你配好。现在就只有一个问题了,你怎么控制这个在叙利亚的新电脑——使用SSH。SSH就是一条线,把你面前的1050Ti电脑连接到叙利亚那台4090电脑,这样你就可以远程控制4090电脑了
2.什么叫创建实例
创建一个实例代表租一台电脑,创建两个实例代表租两台电脑,创建三个实例代表租三台电脑,这不是废话吗。有人会问,我租一台电脑不就够了,租这么多干嘛?拜托,人家也是要挣钱的,不可能只租给你一个人呀。别人用的时候,你就不能用了,你要用其他电脑了。别急,AutoDL又说了,放心,不会删你库跑路的,东西都给你留好,数据、代码你也随便拷贝到其他电脑上。总而言之,实例在数据在,但是连续关机15天实例将被释放。
3.正式开始创建实例
-
首先进入AutoDL官网:AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL
-
登录注册
-
点击右上角控制台,第一步点击容器实例,然后点击租用新实例(图上显示的是我已经创建三个实例了)
-
在租用实例页面:选择计费方式,选择合适的主机,选择要创建实例中的GPU数量,选择镜像(内置了不同的深度学习框架),最后创建即可。我选择的是Miniconda(后面会用到)
-
创建完成后等待开机,今后主要用到的操作入口见截图中
二、上传数据
为什么要上传数据
因为之前都是在你的1050Ti上炼丹,现在你租了新电脑(叙利亚那台4090),要用4090炼丹了。4090上,没有代码、数据,需要你手动上传上去,才能炼丹。
流程这点官方文档讲的特别清楚,AutoDL帮助文档。
我用的是百度网盘(被绑架的尊贵SV6用户)上传数据。
我电脑本地有个文件,叫种子,里面是代码和数据集(在1050Ti上能跑),怎么上传到叙利亚那台4090上呢?首先,我把种子上传到百度网盘,然后打开AutoDL,在AutoPanel中打开百度网盘,找到种子,下载叙利亚那台4090,它会把种子自动保存在**/root/autodl-tmp/**。(记住这个文件夹)
三、查看数据
四、PyCharm远程开发
1.首先用pycharm打开种子文件
2.专业版or社区版
确认您安装的PyCharm是社区版还是专业版,只有专业版才支持远程开发功能。点击Help,再点击Register
3.开机实例
无卡模式开机代表叙利亚那台4090没打开GPU,省钱
4.复制自己实例的SSH指令
比如:ssh -p 28958 root@connect.westb.seetacloud.com
在ssh -p 28958 root@connect.westb.seetacloud.com
命令中, 各个参数的含义为:
用户名:root
HOST:connect.westb.seetacloud.com
端口号:28958
5.配置PyCharm
[File] -> [Settings],打开以下设置弹窗,搜索interpreter找到[Project interpreter]设置项
6.线——SSH
还记得怎么连接1050Ti和叙利亚那台电脑吗?用线——SSH。将实例SSH指令中的Host、Port与Username进行匹配和填写(Username均为root,Host和Port查看自己实例的SSH指令),然后输入密码(也是直接复制)。
7.配置远程Python解释器
直到看到下面的弹窗,配置远程Python解释器地址为/root/miniconda3/bin/python
,官方文档是这样的。
8.配置同步目录
意思是本地项目和远程实例中的哪个目录进行关联。这里设置为实例的数据盘子目录:/root/autodl-tmp/
(关联的意思就是本地项目改变了,远程实例中的项目也改变,下面有演示。远程实例就是叙利亚那台电脑的文件项目)
然后OK,finish。
9.远程服务器
打开叙利亚那台电脑的文件目录。
10.还要配置还要配置
还记得怎么连接1050Ti和叙利亚那台电脑吗?用线——SSH,上面我们把线连过了,现在是测试线连好没有。
11.测试关联
拿下!
12.测试GPU型号
再查看一下叙利亚那台电脑GPU的型号:3080Ti,一致。呜呜,俺没米,装的,俺租不起4090。
五、问题
1.ssh连接报错Connection refused问题
连接不上远程服务器,网络问题。
1、是否开了翻墙梯子?开了的话关一下
2、是否校园网?切换网络试一下
3、使用手机热点试一下
2.传数据问题
因为本地代码、数据集会自动同步到远程服务器,所以理论上你不用先把数据上传到百度网盘,再从百度网盘下载到远程服务器。你可以选择硬等,把本地文件到自动同步到远程服务器。数据小点可以这样,大点的话,晚上饭都赶不上了。
3.读取文件问题
就是看起来你是在pycharm上跑代码,但实际上是在远程服务器上跑代码。所以读取数据的时候不能按照本地数据集的文件路径去读,要按照远程服务器上数据集的文件路径去读。
错误写法:
正确写法:
六、谢谢观看
刚入门深度学习,基础较薄弱,对服务器、显卡的理解还比较浅,有错误的地方还请您指出来,望不吝赐教,谢谢。会认真回复每一条评论!