Ubuntu+Anaconda+Pytorch+Pycharm深度学习环境搭建过程

Ubuntu+Anaconda+Pytorch+Pycharm深度学习环境搭建过程

准备工作

安装显卡驱动并查看Cuda对应版本

按照ubuntu推荐的版本就好,或者可以自己去Nivdia官网查看自己显卡所对应的显卡驱动,在这不过多赘述

##通过nvidia-smi查看自己的CUDA 驱动版本
##可以看到我们这里是11.4的版本
~$ nvidia-smi
Thu Jul  7 12:32:43 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.129.06   Driver Version: 470.129.06   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:06:00.0 Off |                  N/A |
| N/A   41C    P0    N/A /  N/A |    356MiB /  2002MiB |     26%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2802      G   gnome-control-center                1MiB |
|    0   N/A  N/A     22384      G   /usr/lib/xorg/Xorg                128MiB |
|    0   N/A  N/A     22570      G   /usr/bin/gnome-shell               46MiB |
|    0   N/A  N/A     23781      G   /usr/lib/firefox/firefox          154MiB |
|    0   N/A  N/A     30282      G   ...RendererForSitePerProcess       23MiB |
+-----------------------------------------------------------------------------+

##但是我们在使用nvcc -V命令后,发现CUDA版本为9.1
~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

两者不一致,想着重装cuda呗,但是又害怕给我系统整坏了

具体原因:[显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么?]

所以选择使用Anaconda来安装虚拟环境,方便管理和日后其他环境的搭建

Anaconda

在官网Anaconda中下载对应的版本

进入下载的目录中,在终端中打开,输入.sh可执行文件

sh Anaconda3-2022.05-Linux-x86_64.sh 

换源

sudo gedit ~/.condarc

将内容换成

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
report_errors: false
auto_activate_base: false

创建自己的虚拟环境并激活

##这里python=x.x并不是必须的,依照自己情况而定
conda create -n your_env_name python=x.x
##激活自己的虚拟环境
~$ conda activate Mypytorch
(Mypytorch)~$ 

后续cuda和cudnn以及其他的一些安装包都可以在这个虚拟环境中安装

查看anaconda中cuda版本

(Mypytorch) ~$ 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版本

官方各cuda版本对应表

查到自己需要安装的cuda版本后,执行

#x.xx是你所需要安装的版本,记得在上面serach的cuda版本中找
~$ conda install cudatoolkit=x.xx

耐心等待下载完成

安装对应版本的cuDNN

CUDA与cuDNN版本对照表

在截取的部分中,我们看到CUDA 11.x对应cuDNN v8.2.1

#通过conda search也能够知道自己所需要下载的版本
(Mypytorch)~$ conda search cudnn
Loading channels: done
# Name                       Version           Build  Channel             
cudnn                          7.0.5       cuda8.0_0  anaconda/pkgs/main  
cudnn                          7.1.2       cuda9.0_0  anaconda/pkgs/main  
cudnn                          7.1.3       cuda8.0_0  anaconda/pkgs/main  
cudnn                          7.2.1       cuda9.2_0  anaconda/pkgs/main  
cudnn                          7.3.1      cuda10.0_0  anaconda/pkgs/main  
cudnn                          7.3.1       cuda9.0_0  anaconda/pkgs/main  
cudnn                          7.3.1       cuda9.2_0  anaconda/pkgs/main  
cudnn                          7.6.0      cuda10.0_0  anaconda/pkgs/main  
cudnn                          7.6.0      cuda10.1_0  anaconda/pkgs/main  
cudnn                          7.6.0       cuda9.0_0  anaconda/pkgs/main  
cudnn                          7.6.0       cuda9.2_0  anaconda/pkgs/main  
cudnn                          7.6.4      cuda10.0_0  anaconda/pkgs/main  
cudnn                          7.6.4      cuda10.1_0  anaconda/pkgs/main  
cudnn                          7.6.4       cuda9.0_0  anaconda/pkgs/main  
cudnn                          7.6.4       cuda9.2_0  anaconda/pkgs/main  
cudnn                          7.6.5      cuda10.0_0  anaconda/pkgs/main  
cudnn                          7.6.5      cuda10.1_0  anaconda/pkgs/main  
cudnn                          7.6.5      cuda10.2_0  anaconda/pkgs/main  
cudnn                          7.6.5       cuda9.0_0  anaconda/pkgs/main  
cudnn                          7.6.5       cuda9.2_0  anaconda/pkgs/main  
cudnn                          8.2.1      cuda11.3_0  anaconda/pkgs/main  
#下载对应版本即可
~$ conda install cudnn=x.xx

耐心等待下载完成

安装pytorch

官网

选择需要的pytorch版本和对应的cuda版本

假设我们安装 pytorch=1.10.0

# CUDA 11.3
~$ conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch

耐心等待下载完成即可

下载完成后别急着验证,我们先安装一些依赖

~$ conda install numpy mkl cffi

耐心等待下载完成

环境验证

(Mypytorch)~$ python
Python 3.6.13 |Anaconda, Inc.| (default, Jun  4 2021, 14:25:59) 
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True #返回true,说明环境配置成功

至此,深度学习环境基本配置完成

Pycharm

在环境配置完成后,单纯的使用命令行肯定是不方便我们开发的,所以博主采用pycharm进行后续的学习

Pycharm安装与卸载

具体操作见上述博文,不在此赘述

新建项目中,选择先前配置的解释器,找到之前所配置的conda环境,之后点击创建即可

简单测试,验证完成

后记

博主后续的学习需要用到opencv,胡乱在conda中下载了一个版本,能用,但是在pycharm中没有代码补全功能,试了网上的很多办法,并不能够解决自己的问

题,后面发现需要python版本与opencv版本对应,才是保险不容易出错的办法

方法如下:

#查看自己虚拟环境中的python版本
(Mypytorch) ~$ python --version
Python 3.6.13 :: Anaconda, Inc.

python对应opencv版本

网站内链接中的cp36cp27即表示对应的python3.6python2.7

从中找到自己所对应的opencv版本即可

#利用如下命令可以找到opencv-python有多少版本
(Mypytorch)~$ pip install opencv-python==
ERROR: Could not find a version that satisfies the requirement opencv-python== (from versions: 3.1.0.5, 3.2.0.7, 3.2.0.8, 3.3.0.9, 3.3.0.10, 3.3.1.11, 3.4.0.12, 3.4.0.14, 3.4.1.15, 3.4.2.16, 3.4.2.17, 3.4.3.18, 3.4.4.19, 3.4.5.20, 3.4.6.27, 3.4.7.28, 3.4.8.29, 3.4.9.31, 3.4.9.33, 3.4.10.35, 3.4.10.37, 3.4.11.39, 3.4.11.41, 3.4.11.43, 3.4.11.45, 3.4.13.47, 3.4.14.51, 3.4.14.53, 3.4.15.55, 3.4.16.57, 3.4.16.59, 3.4.17.61, 3.4.17.63, 3.4.18.65, 4.0.0.21, 4.0.1.23, 4.0.1.24, 4.1.0.25, 4.1.1.26, 4.1.2.30, 4.2.0.32, 4.2.0.34, 4.3.0.36, 4.3.0.38, 4.4.0.40, 4.4.0.42, 4.4.0.44, 4.4.0.46, 4.5.1.48, 4.5.2.52, 4.5.2.54, 4.5.3.56, 4.5.4.58, 4.5.4.60, 4.5.5.62, 4.5.5.64, 4.6.0.66)
ERROR: No matching distribution found for opencv-python==

下面使用

#清华源下载,快很多
~$ pip install opencv-python==3.2.0.7 -i https://pypi.tuna.tsinghua.edu.cn/simple

代码提示出现,完成配置

引用

深度学习环境配置 Ubuntu 18.04 + Anaconda + CUDA + Cudnn + Pytorch 【亲测可用】

posted @ 2022-07-07 15:51  我到底还能坚持多久  阅读(980)  评论(0编辑  收藏  举报