当前位置:   article > 正文

用阿里云服务器运行深度学习代码(详细的小白教程)_阿里云服务器使用教程深度学习

阿里云服务器使用教程深度学习

中途踩了好多坑,折腾了快一个礼拜才跑出来,真的好搞心态!!这篇帖子详细记录怎么用用阿里云服务器运行深度学习代码,雷点也都会说清楚。

我的代码运行环境:

一、购买云服务器

建议买的时候联系客服,说下自己的需求,客服会给出比较好的建议。现在有的优惠是300元优惠券和3个月试用,但3个月试用的配置好像比较一般。

这里提供下我的配置。付费类型,考虑到抢占式实例有可能会被自动释放、影响跑代码,我使用了按量付费。地域选择一个离自己比较近的。网络根据默认。

实例选择GPU类中的共享型GPU。镜像根据环境要求,选择了Ubuntu16.04,并且安全加固。

这里附上阿里云提供的参考:

  1. 轻量级GPU是指GPU计算型实例,可以降低小规模AI推理过程的使用成本;共享型GPU是指GPU虚拟化型实例,CPU和网络资源采用共享模式提供,内存和GPU显存采用独享模式提供,为您提供数据隔离和性能保障。
  2. GPU与CPU配比:对于深度学习训练,考虑GPU与CPU的最佳比例在1:8到1:12之间。如果是通用深度学习、图像识别推理等场景,GPU与CPU的比例推荐为1:4到1:12之间。
  3. 如果涉及大规模的深度学习训练,推荐使用GPU加速型实例,如GN系列或P系列,这些实例配备高性能NVIDIA GPU,适合深度学习和科学计算场景。(可以选择安装GPU驱动,就不用自己配啦)

存储部分,开启了快照服务。

带宽和安全组部分,记得勾上公网IP,方便远程连接服务器。安全组默认。

选择密钥对,登录服务器的时候就用密钥对验证。自己创建一个,并且保存好密钥对的.pem文件就好了。

下单,成功购买服务器啦。进入管理控制台,进行接下来的操作。

二、连接服务器

可以使用阿里云提供的workbench进行远程连接。我使用的是Xshell进行远程连接,Xftp进行文件传输。安装教程:Windows 下 xshell 和 xftp 安装与使用_window安装xshell xftp-CSDN博客

连接教程:如何用云服务器进行深度学习 - 知乎 (zhihu.com)(第二节~)

连接上了以后我出现了提示:/usr/bin/xauth: file /root/.Xauthority does not exist ,这个不是问题,具体可看:【庖丁解牛】xshell链接服务器 /usr/bin/xauth: file /root/.Xauthority does not exist_/usr/bin/xauth: file /root/.xauthority does not ex-CSDN博客

三、配置环境 

1、安装GPU驱动

一般都是上网下载NVIDIA驱动并安装,不过在我各种报错并咨询阿里云客服后,发现因为购买的是GPU虚拟化实例 ecs.sgn7i-vws,需要安装GRID驱动^^...

参考文档:https://help.aliyun.com/zh/egs/user-guide/use-cloud-assistant-to-automatically-install-and-upgrade-grid-drivers?spm=a2c4g.11186623.0.0.7f807130FqbY5c#464af6d03ffcn 通过云助手安装一下grid驱动就可以了,中途遇到问题可以咨询客服解决。在附录补充了NVIDIA驱动的安装教程,别的实例类型也可以参考~

安装好后,输入以下命令查看当前GPU的所有基础信息:

nvidia-smi

这里你会看到有个CUDA的版本,这是CUDA Driver API的型号,也是硬件可以支持的CUDA的最高型号。

2、安装CUDA

这里有个大雷点:一定要注意CUDA版本!!

查看电脑GPU的算力:CUDA GPUs - Compute Capability | NVIDIA Developer,以我为例,在实例中看到型号是NVIDIA A10,查找到算力为8.6。

根据算力,找到支持该算力的对应的CUDA版本。虽然我的开源代码是在CUDA10.1上运行,但是其仅支持算力3.7,5.0,6.0,7.0;于是我重新安装了CUDA11.1,符合算力要求。

补充说下,使用以下命令,在终端进入python,可查看当前版本的pytorch依赖的CUDA算力支持:

  1. import torch
  2. torch.cuda.get_arch_list()

接下来就是安装CUDA11.1,在官网中找到安装链接:CUDA Toolkit 11.1.0 | NVIDIA Developer

根据官网给出的教程操作就好了,附上代码:

  1. wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
  2. sudo sh cuda_11.1.0_455.23.05_linux.run

接下来进行环境变量的配置:

  1. #修改~/.bashrc文件
  2. vim ~/.bashrc
  3. #在文件的末尾加入下面两行(记得换成自己安装的CUDA版本号)
  4. export PATH=/usr/local/cuda-11.1/bin${PATH:+:${PATH}}
  5. export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  6. #按ESC,输入:wq,并回车,保存退出
  7. #更新环境变量
  8. source ~/.bashrc

通过以下命令查看CUDA版本(CUDA Runtime API),验证是否安装成功:

nvcc -V

3、安装CUDNN

参考文章:如何用云服务器进行深度学习 - 知乎 (zhihu.com)(3.1.2部分)

补充一些出入,传输文件的端口打开部分,阿里云界面略有变化,点击侧栏的【安全组】【操作-管理规则】:

【快速添加】,之后根据文章中来就好了:

最后验证环节,我找了半天才找到,可以参考:

cat /usr/local/cuda-11.1/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

4、安装anaconda

清华镜像源好像不对阿里云服务器开放,所以我用阿里云镜像源下载了,地址:anaconda-archive安装包下载_开源镜像站-阿里云 (aliyun.com)

找到要下载的版本(这里选择 Anaconda3-5.0.0.1-Linux-x86_64.sh
),复制链接:

  1. #下载安装包
  2. wget https://mirrors.aliyun.com/anaconda/archive/Anaconda3-5.0.0.1-Linux-x86_64.sh
  3. #查看安装包名
  4. ls
  5. #安装
  6. bash 下载文件名.sh

参考文章:如何用云服务器进行深度学习 - 知乎 (zhihu.com)(3.2部分),添加变量就好了~

介绍一些常用的环境管理代码:

  1. #创建环境
  2. conda create -n 环境名 python=python版本
  3. #激活环境,从base进入到创建的环境
  4. conda activate 环境名
  5. #退出该环境
  6. conda deactivate
  7. #删除环境(需要先退出该环境)
  8. conda remove -n 环境名 --all
  9. #查看全部环境
  10. conda env list
  11. #查看环境中安装的包
  12. conda list

5、修改conda镜像源

修改成国内的阿里云镜像源,代码如下:

  1. conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/main
  2. conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/r
  3. conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/msys2
  4. conda config --set show_channel_urls yes

四、源码上传

参考文章:记录一次服务器跑数据的全过程_如何使用远程服务器跑数据-CSDN博客(第五节)

五、虚拟环境中配置深度学习框架

又是一个大雷点,一定要注意版本匹配!

这是我的代码需要的包:

1、安装PyTorch

因为安装的CUDA版本变化,所以相应的pytorch版本也发生了变化。根据官网来:

Previous PyTorch Versions | PyTorch

pip install --no-cache-dir torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

安装好以后,终端进入python验证:

  1. import torch
  2. #查看PyTorch版本
  3. print(torch.__version__)
  4. #验证cuda是否被PyTorch检测到
  5. torch.cuda.is_available()
  6. #outputTrue
  7. #验证PyTorch能不能调用cuda加速
  8. torch.tensor([1.0, 2.0]).cuda()
  9. #Output:tensor([1., 2.], device='cuda:0')

 2、安装pytorch-geometric

进入链接https://pytorch-geometric.com/whl/,找到对应torch版本并进入,安装相关包。

  1. pip install --no-index --upgrade torch-scatter==2.0.6 -f https://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html
  2. pip install --no-index --upgrade torch-sparse==0.6.9 -f https://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html
  3. pip install --no-index --upgrade torch-spline-conv==1.2.1 -f https://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html
  4. pip install --upgrade torch-geometric==1.7.0

3、安装其他相关包

和截图中一样,全部包安装完就可以跑代码啦~

附录A 安装NVIDIA驱动

注意驱动一定要和GPU型号对应

进入官网Official Drivers | NVIDIA,选择对应配置。我的GPU型号是GA102GL [A10],对应下图:

点击search后,可在supported products中查看支持的型号。点击download,进入下一页面,复制Agree& Download的链接。

  1. wget https://us.download.nvidia.com/tesla/535.154.05/NVIDIA-Linux-x86_64-535.154.05.run
  2. sudo chmod a+x NVIDIA-Linux-x86_64-535.154.05.run
  3. sudo sh ./NVIDIA-Linux-x86_64-535.154.05.run -no-opengl-files

参考文章:Ubuntu18-22.04安装和干净卸载nvidia显卡驱动——超详细、最简单_ubuntu安装nvidia显卡驱动-CSDN博客

补充一个问题和解决方法:“you appear to be running an x server please exit x before installing”

  1. sudo /etc/init.d/lightdm stop
  2. sudo /etc/init.d/lightdm status

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/1014684
推荐阅读
相关标签
  

闽ICP备14008679号