赞
踩
一、开机镜像环境配置
平台所有镜像的系统版本为Ubuntu,多数为Ubuntu 18.04 ,少数Ubuntu 20.04。
平台已经内置了以下框架及版本的镜像,使用该镜像的实例就会自带相应框架软件。如果以下自带的框架版本或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/cuDNN,因为框架都内置了编译好的CUDA,框架版本和CUDA版本是对应的,只需要关注框架版本即可,无需独立关注CUDA版本。
注意:通过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
- 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:
参考官方安装步骤(需要科学上网)
平台内置的所有镜像都安装了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))
如何在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 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。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。