前言

近期因实验室需求安装 Linux 系统,安装过程走了不少弯路,在此记录,希望对大家有所帮助。本人使用的是一个挺垃圾的笔记本电脑,前置工作在 win10 下安装 ubuntu20.04 双系统,可参考 b 站视频,亲测可用。(也可以直接 VMWare 装个虚拟机,下个无桌面的 ubuntu 系统,这样其实也不会卡)

(安装 Pytorch 前面的几步可以参考,之后几步是我自己安装某些软件顺便记录一下的)

链接: 如何安装Window + Linux 双系统(ubuntu20.04)

一、NVIDIA 显卡驱动的安装

1.首先查看自己电脑是否有 gpu (本人为GeForce GTX 1050显卡)

x@H:~$ 	lspci | grep NVIDIA
01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)

2.删除之前已经安装的 NVIDIA 驱动(不删直接装很可能报错,本人就是新装的 Linux 系统,在官网安装驱动失败)

sudo apt-get purge nvidia*

3.更新自己的 apt 库(一般都会更新一下,不然很多包下不了)

x@H:~$ 	sudo apt-get update 
x@H:~$ 	sudo apt-get upgrade

4.查看最新的驱动系统(就是看一下你现在可以支持的驱动,可以看到470是默认推荐的)

x@H:~$		ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C8Dsv0000103Csd0000838Fbc03sc00i00
vendor   : NVIDIA Corporation
model    : GP107M [GeForce GTX 1050 Mobile]
driver   : nvidia-driver-470 - distro non-free recommended
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-390 - distro non-free
driver   : nvidia-driver-510 - distro non-free
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-510-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

5.自动安装合适的 NVIDIA 驱动(我这儿默认下载的版本号是 470.103.01,刚好可以搭配 Pytorch 的 CUDA11.3,静静等待自动下载安装即可,很快也就 300 多 M 大小)

x@H:~$		sudo ubuntu-drivers autoinstall

6.检查下您的系统是否使用nouveau开源驱动程序:
(这个不关闭阔能会引起系统无法进入,我没试过但最好还是关了)
(进入/etc/modprobe.d文件夹打开终端,开启root模式)

root@H:/etc/modprobe.d#		bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
root@H:/etc/modprobe.d# 	bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
root@H:/etc/modprobe.d#		gedit /etc/modprobe.d/blacklist-nvidia-nouveau.conf

在文件里写入这两行,保存退出

blacklist nouveau
options nouveau modeset=0

如果运行这个后无输出那就是关闭成功了

x@H:~$		lsmod | grep nouveau

7.重启一下电脑
(有些配置重启后才能生效)

x@H:~$		Reboot

8.看一下NVIDIA显卡驱动是否安装成功了

x@H:~$	 nvidia-smi
Fri Apr 22 21:11:42 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.103.01   Driver Version: 470.103.01   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:01:00.0 Off |                  N/A |
| N/A   39C    P8    N/A /  N/A |      6MiB /  2000MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A       927      G   /usr/lib/xorg/Xorg                  4MiB |
+-----------------------------------------------------------------------------+

二、Anaconda的安装

1.首先进入Anaconda镜像站去下载个安装包下载到本地,网站地址如下:
(我下的是Anaconda3-2020.02-Linux-x86_64.sh)
链接: Anaconda镜像站.
2.进入下载包的那个文件夹打开终端输入以下代码进行安装
(一路点空格或者yes就可以安装成功了)

x@H:~/下载$ 	bash Anaconda3-2020.02-Linux-x86_64.sh

3.设置默认启动的环境为base环境
(其实上面一步安装好就默认是base环境了,有时候运气不好就需要手动配置,比如我)
(第一个确保默认启动base环境,第二个确保conda可以启动)

x@H:~$		sudo vim /etc/profile
x@H:~$		sudo vim /home/x/.bashrc

这俩文件都添加一下,在打开的文件里,上面不要动在最后一行添加下面这行话,配置环境变量
(各填自己的anaconda路径,之后在最前面就可以显示(base)咯)

export PATH=/home/x/anaconda3/bin:$PATH

激活配置好的环境

x@H:~$		source /home/x/.bashrc

运行下conda看可以启动不

x@H:~$		conda

4.创建自己的虚拟环境
(这里一路yes就可以了,xch是环境名,可以随便取,python=3.8也可以换成别的版本)

(base) x@H:~$ 	conda create -n xch python=3.8

5.看一下现在都有啥环境

(base) x@H:~$ 	conda info -e

激活xch环境, 可见开头变为(xch)

(base) x@H:~$ conda activate xch
(xch) x@H:~$ 

三、pytorch的安装

1.配置下清华镜像源,下载速度更快些

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

2.查看驱动版本,并比较自己可以安装的CUDA版本,我的版本是470打算下载对应11.3 pytorch。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.103.01   Driver Version: 470.103.01   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:01:00.0 Off |                  N/A |
| N/A   39C    P8    N/A /  N/A |      6MiB /  2000MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

在这里插入图片描述

3.到官网下载pytorch
链接: pytorch官网.
在这里插入图片描述

首先启动终端进入base环境,再输入自己创建的xch环境,升级一下conda,在xch环境下输入命令即可下载
(后面的 -c pytorch 记得去掉)

(base) x@H:~$ 	conda activate xch
(xch) x@H:~$ 	conda update -n base -c defaults conda
(xch) x@H:~$ 	conda install pytorch torchvision torchaudio cudatoolkit=11.3

4.查看是否安装成功

(xch) x@H:~$ python
Python 3.8.13 (default, Mar 28 2022, 11:38:47) 
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True

四、Vscode 的安装与配置

1.vscode在国内下载有时候会非常非常慢,所以推荐直接镜像下载,链接如下:
链接: vscode镜像 点击即可下载(.deb).
2.转到文件所在目录,dpkg下载

(base) x@H:~/下载$ 	sudo dpkg -i code_1.66.2-1649664567_amd64.deb

3.安装相应插件
在左侧第五个小方块的图标里(extension),搜索python, vscode-icons, Bracket Pair Colorizer, Path Intellisense , Chinese(需要重启), Code Runner等插件,增加使用体验。
4.配置环境
创建一个文件夹,使用vscode打开
在左侧第四个小甲虫加三角形的图标里(Run and debug),有个create launch.json的字样,点击并选择创建python格式,即可成功创建。
在上方的 查看->命令面板 里输入 >python select interpreter 里选择 python3.8.13(“xch”) , 这是我自己创建的conda环境。
这里很多小伙伴会发现,运行

print(hello world)

这种代码是肯定不问题的,但是只要导入包就会报错

import torch
ones = torch.ones((3, 4))
print(ones)

输出

Traceback (most recent call last):
  File "/home/x/Code/temp.py", line 1, in <module>
    import torch
ModuleNotFoundError: No module named 'torch'

于是我们在设置->扩展->python里找到setting.json并打开
将原来的

"python.pythonPath": "/home/x/anaconda3/envs/xch/bin/python" 

注释掉.
在文件最后添加"code-runner.executorMap",还没敲完呢后面一大片就自动生成了
将里面的

"python": "python -u"

改称你自己的conda环境

"python": "/home/x/anaconda3/envs/xch/bin/python" 

保存并退出
这时候再运行可以发现运行成功~

import torch
ones = torch.ones((3, 4))
print(ones)
tensor([[1., 1., 1., 1.],
        [1., 1., 1., 1.],
        [1., 1., 1., 1.]])

五、远程服务器的连接

因为我是连接的实验室的服务器,其中是设置了跳板机的。
1.下载相关的插件
打开vscode,安装Remote-SSH插件
安装完成后左边会出现一个显示器图标(远程资源管理器)
点击SSH-TARGETS旁边的齿轮, 选择/home/x/.ssh/config
在其中输入你的远程服务器配置信息,我的如下:
( “***“ 替换跳板机的ip地址和自己服务器的ip地址)

Host JumpMachine
    HostName 106.***.***.***
    port 22
    User Administrator

Host 60
    HostName 192.***.***.***
    port 22
    User xch
    ProxyCommand ssh -W %h:%p JumpMachine

2.对文件点击右键,选择 connect to host in current window 连接服务器
输入跳板机密码,继续输入用户密码
显示连接到服务器
点击左侧第一个图标(资源管理器),选择打开文件夹(/home/xch)
再次输入跳板机密码,输入用户密码,即可连接并操作服务器内文件
在这里插入图片描述

六、CUDA与cuDNN的安装

首先在官网下载自己想要的CUDA版本,我下的是11.4版本,直接百度输入CUDA TOOlkit 11.4 即可搜索到相应的版本。
链接: CUDA11.4下载链接.
//wait…

七、Vitis-AI-cpu的安装

1.首先是 docker 的配置安装,具体如下:
更新一下apt库

sudo apt-get update

安装一下依赖的软件,不安装可能docker装不了

sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

添加密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

开始安装docker

sudo apt-get install docker-ce docker-ce-cli containerd.io

测试一下安装成功了没,出现 hello for docker 就成功了

sudo docker run hello-world

把docker添加进用户组

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

再次运行,这次前面不需要家sudo也可以了。

docker run hello-world
  1. vitis-ai-cpu 安装
    //wait…
    太菜了,CPU 版本的好装,但 GPU 版本的装不上,很久之前就放弃安装了…

参考链接: https://www.it610.com/article/1281185847399432192.htm.
参考链接: https://blog.csdn.net/u012386311/article/details/103402428.
参考链接: https://blog.csdn.net/qq_38327769/article/details/108701992.

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐