算力云AuToDL使用教程 (开机镜像环境配置)

一、开机镜像环境配置

平台所有镜像的系统版本为Ubuntu,多数为Ubuntu 18.04 ,少数Ubuntu 20.04。

平台已经内置了以下框架及版本的镜像,使用该镜像的实例就会自带相应框架软件。如果以下自带的框架版本或Python版本不满足需求,请继续看下方配置其他版本的框架或Python方法。

安装其他版本的Python

平台内置的镜像均为Python3.8,如果在需要使用Python3.6、Python3.7等的场景(比如TensorFlow1.14必须3.6/3.7),那么可以使用Miniconda创建其他版本的Python虚拟环境。

# 构建一个虚拟环境名为:my-env,Python版本为3.7
conda create -n my-env python=3.7    

# 更新bashrc中的环境变量
conda init bash && source /root/.bashrc
# 切换到创建的虚拟环境:my-env
conda activate my-env

# 验证
python

安装其他版本的CUDA

注意:如果没有二次编译代码的需求,正常情况下不需要单独安装CUDA/cuDNN,因为框架都内置了编译好的CUDA,框架版本和CUDA版本是对应的,只需要关注框架版本即可,无需独立关注CUDA版本。

查询默认CUDA/cuDNN版本

注意:通过nvidia-smi命令查看到的CUDA版本只是驱动支持的最高cuda版本参数,不代表实例中安装的是该版本CUDA。

终端中执行查看默认镜像自带的CUDA版本(安装目录为/usr/local/):

# 查询平台内置镜像中的cuda版本
ldconfig -p | grep cuda
        libnvrtc.so.11.0 (libc6,x86-64) => /usr/local/cuda-11.0/targets/x86_64-linux/lib/libnvrtc.so.11.0
        libnvrtc.so (libc6,x86-64) => /usr/local/cuda-11.0/targets/x86_64-linux/lib/libnvrtc.so
        libnvrtc-builtins.so.11.0 (libc6,x86-64) => /usr/local/cuda-11.0/targets/x86_64-linux/lib/libnvrtc-builtins.so.11.0

# 查询平台内置镜像中的cudnn版本
ldconfig -p | grep cudnn
        libcudnn_ops_train.so.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn_ops_train.so.8
        libcudnn_ops_train.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn_ops_train.so
        libcudnn_ops_infer.so.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so.8
        libcudnn_ops_infer.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so

上边的输出日志.so后的数字即为版本号。如果你通过conda安装了cuda那么可以通过以下命令查看:

conda list | grep cudatoolkit
cudatoolkit               10.1.243             h6bb024c_0    defaults

conda list | grep cudnn
cudnn                     7.6.5                cuda10.1_0    defaults

安装其他版本的CUDA/cuDNN

方法一:使用conda进行安装
conda install cudatoolkit==xx.xx
conda install cudnn==xx.xx

如果你不知道版本号是什么那么可以搜索:

conda search cudatoolkit
Loading channels: done
# Name                       Version           Build  Channel             
cudatoolkit                      9.0      h13b8566_0  anaconda/pkgs/main  
cudatoolkit                      9.2               0  anaconda/pkgs/main  
cudatoolkit                 10.0.130               0  anaconda/pkgs/main  
cudatoolkit                 10.1.168               0  anaconda/pkgs/main  
cudatoolkit                 10.1.243      h6bb024c_0  anaconda/pkgs/main  
cudatoolkit                  10.2.89      hfd86e86_0  anaconda/pkgs/main  
cudatoolkit                  10.2.89      hfd86e86_1  anaconda/pkgs/main  
cudatoolkit                 11.0.221      h6bb024c_0  anaconda/pkgs/main  
cudatoolkit                   11.3.1      h2bc3f7f_2  anaconda/pkgs/main
方法二:下载安装包安装

CUDA载地址:https://developer.nvidia.com/cuda-toolkit-archive

安装方法:

# 下载.run格式的安装包后:
chmod +x xxx.run   # 增加执行权限
./xxx.run          # 运行安装包

cuDNN下载地址:https://developer.nvidia.com/cudnn

安装方法:

先解压, 后将动态链接库和头文件放入相应目录

mv cuda/include/* /usr/local/cuda/include/
chmod +x cuda/lib64/* && mv cuda/lib64/* /usr/local/cuda/lib64/

安装完成以后,增加环境变量:

echo "export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:${LD_LIBRARY_PATH} \n" >> ~/.bashrc
source ~/.bashrc && ldconfig

提示:

默认镜像都内置了最原生的CUDA和cuDNN,如果您自己安装了cudatoolkits等,那么一般会默认优先使用conda中安装的cudatoolkits

安装PyTorch: 

参考官方安装步骤

Previous PyTorch Versions | PyTorch

 安装TensorFlow

参考官方安装步骤(需要科学上网)

www.tensorflow.org

二、开机创建Miniconda环境,自行构建框架

平台内置的所有镜像都安装了Miniconda,安装路径为/root/miniconda3/。

如果您需要使用其他版本的CUDA或cuDNN,那么可以通过Miniconda简单几步完成环境构建,推荐您租用实例时选择miniconda镜像(内部未安装任何深度学习框架,保持运行环境干净,避免不必要的问题)

以下以构建TensorFlow 1.15.0版本的运行环境为例进行说明如何使用Conda构建需要的环境。

创建虚拟环境

conda create -n tf python=3.7           # 构建一个虚拟环境,名为:tf
conda init bash && source /root/.bashrc # 更新bashrc中的环境变量
conda activate tf                       # 切换到创建的虚拟环境:tf

安装软件依赖

# 切换conda虚拟环境后
conda install tensorflow-gpu==1.15.0     # conda会自动解析依赖安装tensorflow 1.15.0版本需要的cuda和cudnn,无需自己独立安装

# 安装完使用Python进行简单的测试:
import tensorflow as tf 
hello = tf.constant('Hello, TensorFlow!') 
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(hello))

Notebook环境切换

如何在JupyterLab的Notebook中使用新的Conda环境

# 创建Conda新的虚拟环境(如已创建,请忽略!)
conda create -n tf python=3.7             # 构建一个虚拟环境,名为:tf
conda init bash && source /root/.bashrc   # 更新bashrc中的环境变量

# 将新的Conda虚拟环境加入jupyterlab中
conda activate tf                         # 切换到创建的虚拟环境:tf
conda install ipykernel
ipython kernel install --user --name=tf   # 设置kernel,--user表示当前用户,tf为虚拟环境名称

执行以上命令后,如果创建新的Notebook,那么可以选择名为tf的Notebook。

如果是已有的Notebook

清除Conda虚拟环境

# 清除安装的环境
conda deactivate          # 退出当前(tf)环境到base环境
conda remove -n tf --all  # 清除tf环境

删除安装包和缓存

conda clean -y --all

安装虚拟环境到数据盘(如需要可以安装虚拟环境到数据盘)

执行以下命令设置将虚拟环境安装到/root/autodl-tmp/conda/envs, 包缓存到/root/autodl-tmp/conda/pkgs

mkdir -p /root/autodl-tmp/conda/pkgs
conda config --add pkgs_dirs /root/autodl-tmp/conda/pkgs

mkdir -p /root/autodl-tmp/conda/envs
conda config --add envs_dirs /root/autodl-tmp/conda/envs

验证是否生效

# 执行命令查看配置的路径是否在文件内容中
cat /root/.condarc

 取消设置安装虚拟环境到数据盘
编辑/root/.condarc文件,删除对应的路径所在行即可

推荐的使用方式

        首先平台镜像中有没有您需要的Torch、TensorFlow等框架的相应版本,如果有首选平台内置的镜像。

        如果平台中没有合适的Torch、TensorFlow等框架版本,那么查询自己的框架需要什么CUDA版本,比如PyTorch=1.9.0需要CUDA=11.1,那么可以选择Miniconda/CUDA=11.1的平台镜像,然后在镜像内安装自己需要的框架,免去安装cudatoolkit的麻烦。(平台内置的CUDA均带.h头文件,如有二次编译代码的需求更方便)。

        如果以上条件都不满足,则可随便挑选一个Miniconda镜像,在开机后自行安装相关框架、CUDA、甚至其他版本的Python。

  • 33
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值