环境问题—服务器RTX3090—Ubuntu20_Anaconda3_CUDA11.4_PyTorch1.10_cudatoolkit11.3_cudnn-8.2.1+Pycharm_apex
·
深度学习环境配置:上
服务器(GPU版):上
查看硬件配置
- CPU:Intel Xeon® Silver 4210R CPU@2.40GHz×40
- Memory:128GB
- Disk:512GB+4T
- Graphics:llvmpipe(LLVM 11.0.0, 256bits)
- GPU:GA102 [GeForce RTX 3090]
安装Ubuntu20
机器供应商安装的
按显卡配置Nvidia驱动
- 查看显卡型号:
lspci -vnn | grep VGA - 根据显示的Nvidia Corporation Device [10de:2204]:网站检索 10de:2204
- 检查是否禁用nouvean:
lsmod | grep nouveau(无输出就禁用了),如何禁用请百度 - Nvidia官网下载显卡驱动安装包并安装:参考博客,驱动下载

- 安装完成后检查显卡的驱动版本+使用情况:
nvidia-smi;右边的百分比好像是GPU的利用率

安装anaconda3
- 网站下载anaconda3安装包
- 安装:
bash Anaconda*.sh - 配置环境:
sudo vi ~/.bashrc - 文件末尾添加路径:
export PATH="/home/用户名/anaconda3/bin:$PATH" - 生效:
source ~/.bashrc - 查看虚拟环境列表:
conda env list - 不想每次启动Terminal都会进入base环境:
conda config --set auto_activate_base false - conda新建虚拟环境的权限问题
- The current user does not have write permissions to a required path.
给予主目录下anaconda3文件权限即可(在主目录下运行):sudo chown -R dell anaconda3
dell是用户名 - Unable to create environment file. Path not writable.
给予主目录下.conda文件权限即可:sudo chown -R dell .conda
- The current user does not have write permissions to a required path.
配置虚拟环境(需硬件与软件版本对应)
- 查看版本需求:以下仅针对Ubuntu+GPU
针对TensorFlow的配置

针对PyTorch的配置(后两列可选)
https://pytorch.org/get-started/locally/
官网链接
| PyTorch | CUDA | torchvision(图像) | torchaudio(音频) |
|---|---|---|---|
| 1.9/10 | 10.2、11.3 | 0.10.0 | 0.9.0 |
| 1.8.1 | 10.2、11.3 | 0.9.1 | 0.8.1 |
| 1.8.0 | 10.2、11.1 | 0.9.0 | 0.8.0 |
| 1.7.1 | 9.2、10.1、10.2、11.0 | 0.8.2 | 0.7.2 |
| 1.7.0 | 9.2、10.1、10.2、11.0 | 0.8.0 | 0.7.0 |
| 1.6.0 | 9.2、10.1、10.2 | 0.7.0 | - |
| 1.5.1 | 9.2、10.1、10.2 | 0.6.1 | - |
| 1.5.0 | 9.2、10.1、10.2 | 0.6.0 | - |
| 1.4.0 | 9.2、10.1 | 0.5.0 | - |
| 1.2.0 | 9.2、10.0 | 0.4.0 | - |
| 1.1.0 | 9.0、10.0 | 0.3.0 | - |
| 1.0.1 | 9.0、10.0 | 0.2.2 | - |
| 1.0.0 | 8.0、9.0、10.0 | 0.2.1 | - |
| <1.0.0 | 7.5、8.0、9.0 | - | - |
| 要通过 Anaconda 或 Miniconda 安装以前版本的 PyTorch,请将以下命令中的“0.4.1”替换为所需的版本 |
- CUDA9:
conda install pytorch=0.4.1 cuda90 -c pytorchorconda install pytorch=0.4.1 cuda92 -c pytorch - CUDA8:
conda install pytorch=0.4.1 cuda80 -c pytorch - CUDA7.5:
conda install pytorch=0.4.1 cuda75 -c pytorch - 没有CUDA:
conda install pytorch=0.4.1 -c pytorch
目标:python=3.9 pytorch1.10 cuda=11.3 cudnn=8.2.1

- 建立环境:
conda create -n pytorch1.10 python=3.9 - 激活环境:
conda activate pytorch1.10 - 下载:
pip3 install torch==1.10.1+cu113 torchvision==0.11.2+cu113 torchaudio==0.10.1+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
查看需要的版本 - 其他需要安装的库(可跳过)
pip install tensorboard_logger pip install tqdm pip install pickle5 - 安装默认的cuDNN(也可以设定固定版本):
conda install cudnn
或者conda install cudnn -c anaconda,若上步指定了版本,这里将做自动匹配~ - 虚拟环境pytorch1.10的path:
\home\dell\anaconda3\envs\pytorch1.10\bin\python - 验证安装
输入python进入python命令行
输入import torch引入torch模块
输入print(torch.__version__)输出pytorch版本

系统CUDA+cuDNN(安装apex需要与pytorch的cuda一致)
- CUDA与Nvidia显卡型号

- CUDA与cuDNN的关系:RTX 3090 据说只能cuDNN8.0以上,cuda11.1及以上
| cuDNN | CUDA |
|---|---|
| 8.3.0 | 11.5、10.2 |
| 8.2.4/2 | 11.4 、10.2 |
| 8.2.1/0 | 11.x 、10.2 |
| 8.1.1/0 | 11.0/1/2 、10.2 |
| 8.0.5/4 | 11.0/1 、10.1/2 |
| 8.0.3/2/1 | 11.0 、10.1/2 |
| 7.6.5 | 10.0/1/2 、9.0/2 |
| 7.6.0-4 | 10.0/1 、9.0/2 |
| 7.5.0/1 | 10.0/1 、9.0/2 |
| 7.4.1/2 | 10.0 、9.0/2 |
| 7.3.1 | 10.0 、9.0/2 |
| 7.3.0 | 10.0 、9.0 |
| 7.2.1 | 9.2 |
| 7.1.4 | 9.0/2 、8.0 |
| 7.1.3 | 9.0/1 、8.0 |
| 7.1.2 | 9.0/1/2 |
| 7.0.5 | 9.0/1 、8.0 |
| 7.0.4 | 9.0 |
| 6.0 、5.1 、5 | 7.5 、8.0 |
| 4 3 | 7.0 |
| 2 1 | 6.5 |
-
CUDA 11.4
- 网站下载cuda11.4:
sudo sh cuda_11.4.0*.run - 如果已经安装了NVIDIA驱动就把第一项的x驱动安装去掉(用空格取消对Driver的选中):
1.是否接受EULA? 输入accept
2.cuda安装? 选择不安装驱动,其他默认安装install

卸载部分:/usr/local/cuda-11.4/bin里运行cuda-uninstaller - 添加环境变量:
gedit ~/.bashrc - 文本最后添加以下内容:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda - 保存退出,打开新终端激活:
source ~/.bashrc - (最好)重启电脑
- 检验是否安装成功:
nvcc -V


- 网站下载cuda11.4:
-
cuDNN 8.2.4
- 官网下载cuDNN
- 解压:
tar zxvf cudnn-11.4-linux-x64-v8.2.4.15.tgz - 复制:
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* - 检验版本:
cat cuda/include/cudnn_version.h |grep ^#

安装Pycharm
- 解压:
tar -zxvf pycharm-professional-*.tar.gz pycharm-2021/ - 进入解压后的文件夹内,启动:
sh pycharm-2021/bin/pycharm.sh - 命令行启动,需要在bashrc文件里加入.sh的路径:
alias pycharm="/home/dell(用户名)/pycharm-2021/bin/pycharm.sh" - 为Pycharm添加桌面图表:打开pycharm界面,Tools->Create Desktop Entry…->勾选all user【执行1遍后重启pycharm,再执行1遍】
- pycharm的终端不能导入模块
安装nvidia深度学习加速库apex
- 查看虚拟环境下的cuda版本:
conda list | grep cuda

- 进入环境库
/site-packages/下载apex包:git clone https://github.com/NVIDIA/apex - 保证pytorch的cuda与系统的cuda版本一致【torch-cuda11.3和本机cuda11.4好像可以兼容】
进入apex文件夹cd apex,使用命令:python setup.py install
即可安装成功, 尝试导入:python;import apex;
- 【未尝试】或者把 apex setup.py 文件中关于版本号的校验改掉
找到 get_cuda_bare_metal_version 函数,其中的 bare_metal_major 是主版本,即 11;而 bare_metal_minor 是次要版本,我们需要改的就是这个,直接在下面让它等于 0 即可。

这样 pytorch 是基于 cuda 11.0 编译的,而我们完整版的 cuda 11.1 也会在 nvcc -V 识别中返回 11.0 的版本号。
其他解决办法
控制端(局域网内):下
控制端Windows10_Pycharm远程连接服务器进行代码管理&调试
[深度学习环境配置:下](使用软件Xshell,自行检索)
其他问题
查看/终止进程
- 查看全部进程 :
ps -ef - 找到要终止进程对应的进程号(PID),或其父进程号(PPID) :
kill -9 进程号
换源加速
加载GitHub的库
- 在
/home/dell/anaconda3/envs/pytorch1.7/lib/python3.8/site-packages文件夹内下载安装包:git clone .... - cd进入库包的文件夹,按照readme.md(说明文件)进行安装
nvidia-smi失效
- 进入
/usr/src目录下查看nvidia显卡的版本号:470.86 sudo apt-get install dkmssudo dkms install -m nvidia -v 470.86
观察GPU使用情况
- 周期性显示GPU使用情况-每隔 1s :
watch -n 1 nvidia-smi
欢迎来到FlagOS开发社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。
更多推荐



所有评论(0)