最近需要跑一个深度学习代码,但代码需要的一些库windows环境下没有,所以只能下载Linux系统。一开始想到用虚拟机来安装Ubuntu系统,但在网上查找发现虚拟机不能使用物理机显卡,只能作罢。同时考虑到深度学习用到的数据集比较大所以买了块500G固态用来安装Ubuntu系统,整个安装过程实在曲折,所以记录下以便帮助需要的人。
一、安装Ubuntu双系统
具体可参考:https://blog.csdn.net/qq_22124817/article/details/108797438
具体参考:https://blog.csdn.net/guikunchen/article/details/88077330
sudo gedit /etc/default/grub
找到文件中的"quiet splash"修改为"quiet splash nomodeset",点击右上角保存(命令窗口弹出警告信息直接忽视)。
更新grub:
sudo update-grub
重启电脑:
reboot
(2)如果要使用到独立显卡就需要安装对应的显卡驱动程序。
具体可参考:https://blog.csdn.net/u014682691/article/details/80605201
因为深度学习环境安装要求比较苛刻所以这里使用了第二种安装方法。
首先安装gcc和make:
sudo apt update
sudo apt-get install gcc
sudo apt-get install make
测试系统的图形界面是否可以正常开启:
sudo service lightdm start
如果出现以下错误:
Failed to stop lightdm.service: Unit lightdm.service not loaded.
就需要安装lightdm
sudo apt update
sudo apt-get install lightdm
再次验证:
sudo service lightdm start
如果没有打印输出就说明安装成功了。
之后按照参考链接的步骤关闭nouveau驱动程序。重启电脑后下载官方显卡驱动程序:https://www.nvidia.cn/geforce/drivers/
下载好驱动程序后,在程序所在文件夹打开终端(记住程序所在位置),给文件赋予权限操作(根据自己下载的版本更改命令中的文件名):
sudo chmod 777 NVIDIA-Linux-x86_64-510.54.run
之后关闭x-window再安装驱动程序:
sudo service lightdm stop
执行这条命令后电脑会变为黑屏只有左上角光标闪烁,这个时候不要着急,按下Ctrl+Alt+F1进入tty1控制台,输入Ubuntu系统账号和密码。下面开始安装显卡驱动程序:
首先需要转到驱动程序存储的位置
cd /home/lzh/下载
sudo ./NVIDIA-Linux-x86_64-510.54.run
安装过程选项全部按照默认设置即可,安装好显卡驱动程序后打开x-window:
sudo service lightdm start
这个时候就出现系统桌面了,进入系统后再重启即可。
二、深度学习环境的安装
nvidia-smi
右上角是电脑支持的cuda最大版本,这里我下载的是11.3版本。到官网下载cuda:https://developer.nvidia.com/cuda-toolkit-archive
在终端依次输入下面两行命令即可,如果出现以下情况选择继续安装:
需要注意的是我们已经安装过显卡驱动程序这里就不需要再安装了:
接下来等待安装完成,需要添加环境变量才能在终端查询到cuda版本(需注意文件夹名称cuda-11.3需要对应自己下载的版本):
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.3/lib64
export PATH=$PATH:/usr/local/cuda-11.3/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.3
添加好环境变量后在终端查询cuda版本:
nvcc -V
sudo tar xzf cudnn-11.3-linux-x64-v8.2.1.32.tgz
安装:
sudo cp cuda/include/cudnn.h /usr/local/cuda-11.3/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.3/lib64
sudo chmod a+r /usr/local/cuda-11.3/include/cudnn.h
sudo chmod a+r /usr/local/cuda-11.3/lib64/libcudnn*
网上看到用以下命令来验证cudnn是否安装成功,也可通过安装好pytorch后在python编译器进行查询:
cat /usr/local/cuda-11.3/include/cudnn.h | grep CUDNN_MAJOR -A 2
三、一些小问题的解决
1、wegt无法解析主机地址网址:
具体参考:https://blog.csdn.net/dyw_666666/article/details/113884857
可尝试通过配置电脑DNS解决:
sudo vim /etc/resolv.conf
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
conda可通过以下命令恢复默认源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
ping baidu.com
可以正常运行,但输入:
ping github.com
一直失败,可以通过更改ip实现访问。
具体参考:https://blog.csdn.net/weixin_39644536/article/details/107416957
具体参考:https://zhuanlan.zhihu.com/p/258106139
在终端输入以下命令:
timedatectl set-local-rtc 1 --adjust-system-clock
5.通过pytorch查询cuda和cudnn版本
具体参考:https://blog.csdn.net/weixin_43543177/article/details/113338100
使用python编译器,可通过conda创建的虚拟环境来实现:
import torch
print(torch.__version__) # torch version
print(torch.version.cuda) # cuda version
print(torch.backends.cudnn.version()) # cudnn version