Ubuntu22.04 Python 深度学习环境配置记录

主要是给自己的记录,大家愿意参考也可以,但是我是新手,不保证完全ok,当作笔记慢慢更新
另外,因为ubuntu22.04刚发布不到一周,有很多问题我也很痛苦,但是20.04的默认内核是5.13,22.04的默认内核是5.15,我没记错的话。但是我刚买的电脑,我的无线网卡等很多硬件和20.04内核不匹配,需要5.14以上,正好升级到22.04试一试

另外非常推荐黄海广的Github配合学习更加舒适

1. Python

系统自带python3,暂时没用到python2,暂时不安装
后续安装ROS的时候需要再安装(我的印象里ROS需要切换到python2)

CUDA和cuDNN安装过程是我另一篇笔记里的,直接复制过来的

2. CUDA

2.1 查看自己需要的CUDA版本

输入nvidia-smi

指令不存在说明你的显卡驱动不对,不是nvidia,去软件与更新-附加驱动修改

2.2 安装CUDA

从该网站选择对应版本,并按步骤安装。


2022.4.26更新:前一天使用deb安装的CUDA,忘记了它会自动安装显卡驱动,导致显卡驱动变了,并且卸载了两个小时都没卸载成功。因为频繁的卸载CUDA,cuDNN和显卡驱动,为了防止后期环境出现问题,趁着刚刚安装的22.04,还没下载很多软件,赶紧重装!!!改用runfile安装,它能选择是否安装显卡驱动

把显卡驱动选项勾掉

以上均为2022.4.26更新,更新了CUDA安装方式,请直接跳转cuDNN,不删除deb安装方式是为了避雷


因为我目前22.04版本刚出不到一个星期,所以没有对应的Ubuntu22.04选项,我选择了20.04的暂用。
后期出BUG再改

安装过程中遇见的问题记录

在安装cuda最后一步sudo apt-get -y install cuda这一步报错,缺少liburcu6并且sudo apt install liburcu6显示没有这个软件包,所以选择自己下载并安装
下载地址
选择amd64架构的

在Download中可以看到Binary Package地址(鼠标所在)

用命令下载并安装

wget 	http://archive.ubuntu.com/ubuntu/pool/main/libu/liburcu/liburcu6_0.11.1-2_amd64.deb
sudo dpkg -i sudo dpkg -i liburcu6_0.11.1-2_amd64.deb

然后重新安装cuda即可,问题解决

学自这篇
安装完成后,更新环境变量,我用的zsh,如果你没改过shell,那么默认是bash

sudo vim ~/.zshrc
#没改过用这句
sudo vim ~/.bashrc

在末尾添加

export CUDA_HOME=/usr/local/cuda-11.6
export PATH=$PATH:/usr/local/cuda-11.6/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64

注意cuda版本我是11.6

source ~/.zshrc
#或者
source ~/.bashrc

最后输入nvcc -V查看cuda信息

3. 安装cuDNN

这里下载
没有对应的CUDA11.6对应的cuDNN版本
暂时使用cuDNN对应CUDA11.x版本的,别人说用这个版本可以,暂时尝试用一下,有BUG再说

下载并解压后,终端进入解压后的文件夹(因为解压后名字不统一,为了方便,进入文件夹后再复制文件)

sudo cp include/cudnn.h /usr/local/cuda/include
sudo cp lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

4. Anaconda

Anaconda官网
命令安装

bash Anaconda3-2021.11-Linux-x86_64.sh   

一路yes和回车,可以选择安装位置,可以默认直接回车,但是我喜欢把工具安装在Tools文件夹里,要不然工具多了,谁用谁知道

安装过程中系统PATH有变动,需要source一下

source ~/.bashrc

此时命令行前会出现(bash)字样,是因为安装过程中在PATH中添加了conda初始化代码,会自动执行
有两种办法消除(bash)
一是注释掉初始化代码,重新source
二是在.bashrc最后添加conda deactivate每次自动退出base环境
三是将auto_activate_base设为false

conda config --set auto_activate_base false

以后每次想要进入base环境需通过指令conda activate base
很显然,我选的方法一,因为初学,暂时还不用,后面需要再改

问题记录
问题1:运行conda info --envs指令检验anaconda是否安装成功,报错:conda: command not found
学自【Linux】conda: command not found解决办法

#修改~/.bashrc 或者 zsh就修改 ~/.zshrc
sudo vim ~/.bashrc
#添加路径并注意修改自己的路径
export PATH=$PATH:/home/heine/Tools/anaconda3/bin
#保存退出后更新
source ~/.bashrc

重新运行conda info --envs

5. Pytorch

安装深度学习框架
Pytorch
因为目前Pytorch只支持CUDA11.3,而我的是CUDA11.6,比较难受,先暂时尝试一下11.3版本的这个能不能用,也许暂时不需要手动降级

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch



根据安装情况看的话,只有新下载没有删除,我觉得没有破坏我的环境,哈哈哈,所以先暂时用一用。
后面需要更换的话再说

6. VSCode

该写在前面的,但是忘记了。
vscode安装很简单,官网下载deb文件然后直接dpkg安装即可
插件:Python, Jupyter, Jupyter Notebook


想要使用Jupyter Notebook还需要下载内核,具体过程记不清了, 但是vscode会一步步提醒你完成。

7. 《动手学深度学习》李沐 环境配置

因为anaconda3以及CUDA和cuDNN已经安装完了,所以

conda init
#重启shell后创建虚拟环境
conda create --name d2l python=3.9 -y
#可以查看一下目前的环境列表,应该就一个base一个d2l
conda env list
#激活
conda activate d2l
#安装d2l pytorch
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
pip install d2l==0.17.5
#退出虚拟环境即可,因为是在vscode中用该环境
conda deactivate

在vscode中重新选择内核为虚拟环境d2l。

来源:`咸鱼白菜

物联沃分享整理
物联沃-IOTWORD物联网 » Ubuntu22.04 Python 深度学习环境配置记录

发表评论