安装顺序:安装适合版本的显卡驱动——>安装cuda——>安装cudnn——>安装Pytorch-gpu
我的显卡是RTX2060+驱动:470.129.06+CUDA11.4.x+cuDNN V8…2.4
安装NVIDIA驱动
若无安装NVIDIA驱动可忽略该步骤
卸载原有nvidia驱动
sudo apt-get --purge remove nvidia*
sudo apt autoremove
To remove CUDA Toolkit:
sudo apt-get --purge remove "*cublas*" "cuda*"
To remove NVIDIA Drivers:
sudo apt-get --purge remove "*nvidia*"
然后重启
开始安装NVIDIA驱动
使用ubuntu-drivers devices
命令查看显卡型号和推荐驱动版本:
自动安装推荐(recommended)的驱动:
sudo ubuntu-drivers autoinstall
或者也可以直接安装指定驱动:
sudo apt install nvidia-driver-470
建议安装推荐的驱动
安装成功后重启,确认能进入系统后使用命令确认安装成功:
ls -l /usr/src/
安装CUDA
下载成功后运行文件
sudo bash cuda_11.4.2_470.57.02_linux.run
根据提示需要进行环境变量的设置
sudo gedit ~/.bashrc
加在文件末尾
# added install cuda
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
保存退出
source ~/.bashrc
检查是否成功
cat /usr/local/cuda/version.*
这样子就是成功
安装cuDNN
- 下载后解压,将cuDNN压缩包中的文件拷贝到CUDA的文件夹中:
sudo cp cuda/include/cudnn.h /usr/local/cuda-11.4/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.4/lib64
sudo chmod a+r /usr/local/cuda-11.4/include/cudnn.h /usr/local/cuda-11.4/lib64/libcudnn*
测试
cat /usr/local/cuda/include/cudnn_version.h
最后测试
输入命令
nvidia-smi
出现这样内容就成功了
出现的问题
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.
Make sure that the latest NVIDIA driver is installed and running.
安装系统后,开启UEFI secure boot 情况下,无法加载nvidia、obox、网卡驱动和其他第三方驱动等模块问题
原因在于:第三方模块没有被合法签名,所以无法校验成功
UEFI secure boot开启后ubuntu启动和校验次序:
启动顺序:前者对后者的签名进行验证是否合法,非法就会拒绝加载
EFI fireware -> shim -> grub2 -> kernel -> modules
很多人被迫在BIOS里面禁用UEFI,这虽然可以解决问题,但是会影响Windows等系统启动
其实,可以不用禁用BIOS里面的UEFI安全启动。
用Mok管理工具,禁用shim -> grub2这一步之后的校验就行
代码:
sudo mokutil --disable--validation
输入上述命令,会要求你设置一个8-16位的密码,你设置好后重启,重启第一和次,会有几秒钟提示你按任意键进入MoK管理界面,然后按照提示输入刚才设置的密码的对应位(就是让你输入你的密码的第几位的值),然后管理Mok,禁用Sucure boot就行
安装Anaconda
进入官网下载个人版,存放在Download
目录,进入目录按下列步骤执行:
bash Anaconda3-2020.02-Linux-x86_64.sh
# 输入enter,读完协议
Do you accept the license terms? [yes|no]
[no] >>>
Please answer 'yes' or 'no':
# 输入yes
进入选择安装目录界面:“按回车键确认安装路径,按'CTRL-C'取消安装,或者指定安装目录。”
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes # 输入yes,这样改变了/home当前用户名/.bashrc文件
# 可选地。我们可以gedit打开.bashrc,发现的确文件最后内容添加了anaconda的东西
出现:
==> For changes to take effect, close and re-open your current shell. <==
# 必须重新打开shell才能操作Anaconda
If you'd prefer that conda's base environment not be activated on startup,
set the auto_activate_base parameter to false:
conda config --set auto_activate_base false # 这样可以禁用anaconda的base环境
Thank you for installing Anaconda3!
管理环境
- 关掉当前shell,重新进入
conda -V 或者 conda --version
Python -V 或者 Python --version
创建新环境
conda create --name <env_name> <package_names>
切换环境
conda deactivate # 退出conda进入root环境,命令行前面的base没了
conda activate # 激活conda环境
source activate <env_name> # 进入某环境 ,不用<>
管理包
- 在指定环境中安装包
conda install --name <env_name> <package_name>
1
- 在当前环境安装包
conda install <package_name>
1
- 当conda无法安装时,可以用pip安装
pip只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用pip进行安装包,则需要先切换到指定环境中,再使用pip命令安装包。但是anaconda可以在当前环境中安装另一个环境的包。
pip无法更新python,因为pip并不将python视为包。
pip可以安装一些conda无法安装的包;conda也可以安装一些pip无法安装的包。因此当使用一种命令无法安装包时,可以尝试用另一种命令。
提示未找到conda命令
往 /.bashrc 文件末尾追加 anaconda 的路径(/home/yourname/anaconda3/
echo 'export PATH="/home/majianwei/anaconda3/bin:$PATH"' >> ~/.bashrc
-
更新source
source ~/.bashrc
安装Pycharm
下载后解压文件夹
安装GPU版Pytorch
我的版本就是以下
在自己的python或者conda环境中输入
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
由于网络问题可能下载不成功,运行多几次安装完毕就行
测试是否安装成功
import torch
print(torch.cuda.is_available())
若配置成功会显示True
失败原因一
- cuda、cudnn、显卡驱动版本均正确,但是安装Pytorch的时候,由于源的问题,安装的Pytorch并不是gpu版本或者说版本号不对,因此,可以用
conda list
观察安装的Pytorch版本对不对
失败原因二
- 安装Pytorch的时候从Pytorch官网复制
conda 安装命令
, 注意安装的Pytorch对应的cuda版本与我们安装的cuda版本要一致!
参考文章: