AutoDL平台租借GPU详解(2023年)
一、AutoDL租用GPU
1.1 创建实例
- 首先进入AutoDL官网:AutoDL-品质GPU租用平台-租GPU就上AutoDL
- 进行学生注册登录(学生有优惠)
- 点击右上角的
控制台
,进入AutoDL的主页,显示了账户的基本信息。
4.点击左边菜单容器实例
,点击租用新实例
。
在租用实例页面:选择计费方式,选择相应的地区,选择合适的GPU型号,选择要创建实例中的GPU数量,选择相应的主机,选择镜像(内置了不同的深度学习框架),最后创建即可
创建完成后等待开机【这里租了一个比较便宜的2080 Ti用作演示】。
如果是新手,暂时我们可以将实例进行关机,在更多中选择无卡模式开机
(此时无GPU,比较便宜
)。
开机后,会出现SSH登录的地址密码,以及快捷工具,如在线的JupyterLab
1.2 SSH连接
注:如果您是Windows用户,可以XShell工具或者SecureCRT等工具进行连接。
复制您的SSH登录指令
ssh -p 40982 root@region-42.seetacloud.com
用户名:root
HOST: region-42.seetacloud.com
端口号:40982
在您的x-shell终端中,输入主机和端口
号,然后输入用户名root
以及密码进行连接
+--------------------------------------------------AutoDL--------------------------------------------------------+
目录说明:
╔═════════════════╦════════╦════╦═════════════════════════════════════════════════════════════════════════╗
║目录 ║名称 ║速度 ║说明 ║
╠═════════════════╬════════╬════╬═════════════════════════════════════════════════════════════════════════╣
║/ ║系 统 盘 ║一般║实例关机数据不会丢失,可存放代码等。会随保存镜像一起保存。 ║
║/root/autodl-tmp ║数 据 盘 ║ 快 ║实例关机数据不会丢失,可存放读写IO要求高的数据。但不会随保存镜像一起保存 ║
║/root/autodl-fs ║文件存储 ║一般 ║可以实现多实例间的文件同步共享,不受实例开关机和保存镜像的影响。 ║
╚═════════════════╩════════╩════╩═════════════════════════════════════════════════════════════════════════╝
CPU :0.5 核心
内存:2 GB
GPU :No devices were found
存储:
系 统 盘/ :1% 100M/25G
数 据 盘/root/autodl-tmp:1% 116K/50G
文件存储/root/autodl-fs :1% 178M/200G
+----------------------------------------------------------------------------------------------------------------+
*注意:
1.系统盘较小请将大的数据存放于数据盘或网盘中,重置系统时数据盘和网盘中的数据不受影响
2.清理系统盘请参考:https://www.autodl.com/docs/qa/
root@autodl-container-adbc11ae52-f2ebff02:~#
查看GPU占用情况:nvidia-smi
# 注意,此时因为我们是无卡模式开机,并没有GPU
root@autodl-container-adbc11ae52-f2ebff02:~# nvidia-smi
No devices were found
至此,我们完成了在AutoDL平台租用GPU,并通过ssh连接访问到了云服务器。
二、Pycharm配置
注意:适用于Pycharm的专业版,免费的社区版本没有远程连接的功能。
2.1 Pycharm配置远程解释器
前提条件是服务器上有正常的可以运行的Python环境。(AutoDL已有环境)
类似于添加Pycharm的解释器环境,在Setting中找到Python Interpreter,点击右上方的小齿轮,选择Add。
然后,填入相应的密码。
点击Next,在这一步我们需要让Pycharm找到服务器的Python在哪个地方,并且设置扫描的文件夹。
# 如果不清楚服务器的Python安装在哪个地方,可以使用which python查找
root@autodl-container-adbc11ae52-f2ebff02:~# which python
/root/miniconda3/bin/python
# 我这里使用的是Anaconda中的虚拟环境,记得要查看是否是软连接,比如说我这个找到的Python就是个软连接,其真实文件指向的是python3.8,可以使用
root@autodl-container-adbc11ae52-f2ebff02:~# cd /root/miniconda3/bin
root@autodl-container-adbc11ae52-f2ebff02:~/miniconda3/bin# ls -l
lrwxrwxrwx 1 root root 9 Apr 8 2022 python -> python3.8
......
点击Next,我们在Interpreter中填入上述的Python路径,下面那个选项按需勾选,其意思是使用Sudo权限来运行代码。我们这里选择不勾选。
接下来我们要设置本地与远程同步的项目文件夹,默认是放在一个/tmp/pycharm_project_925
这种路径,这个路径是临时的,将来很容易出点问题就找不到。因此,我们可以自行进行设置。
我们在/opt/autodl-tmp目录下创建deep_learning目录,选择这个目录作为远端目录。
点击Finish,完成配置,这时我们的远程Python解释器就成功配置好了。
点击OK,这时我们整个项目就配置上了远程的Python解释器
2.2 Pycharm配置sftp
在导航栏部分找到Tools→Deployment→Configuration
如上图所示,我们配置了SFTP的所有Connection部分,接下来看下Mapping部分,这部分的用处是将我们本地的文件夹和服务器上的项目文件夹联系映射起来,所以这个地方我们要填入的是我们的项目文件夹。
这时我们可以在导航栏找到Tools→Deployment→Browse Remote Host,在右边就会出现和本地项目一样的文件。
在导航栏找到Tools→Deployment→Automatic Upload,打开,这时候我们对文件的更改就会自动上传到服务器上。
注意:此时不要在自己项目中,放数据大文件,因为我们现在还只是无卡模式开机,同步数据很慢。
完成上述配置后,我们可以正常开机,此时我们执行下面代码。
import torch
print(torch.__version__)
print(torch.cuda.is_available())
# 会出现下面输出,说明配置成功
1.11.0+cu113
True
2.3 租借的GPU运行LeNet
在菜单中的文件存储
,初始化文件存储
将服装分类数据集FashionMNIST的数据文件打成压缩包,上传到服务器上,会存到/root/autodl-fs
目录下
到xshell上,解压
root@autodl-container-adbc11ae52-f2ebff02:~# cd /root/autodl-fs/
root@autodl-container-adbc11ae52-f2ebff02:~/autodl-fs# unzip FashionMNIST.zip
# 然后将数据集移入到特定的目录下
root@autodl-container-adbc11ae52-f2ebff02:~/autodl-fs/data# pwd
/root/autodl-fs/data
root@autodl-container-adbc11ae52-f2ebff02:~/autodl-fs/data# ls
cifar10data fashiondata
在容器实例中,点击快捷工具
中的JupyterLab
找到执行程序所在目录,执行程序
如果pycharm的文件和远端服务器文件,没有同步,可以如下图一样手动上传、下载
程序内容和经典神经网络(1)LeNet及其在Fashion-MNIST数据集上的应用一样
执行结果如下,可以发现GPU进行了计算加速
在GPU执行
在CPU上执行