当前位置:   article > 正文

Ubuntu22.04配置深度学习环境_ubuntu22.04 深度学习

ubuntu22.04 深度学习

Anaconda

安装

anaconda官网https://repo.anaconda.com/上下载安装包,直接上传即可,速度较快。

sherlock@MyPC:~/Downloads$ bash Anaconda3-2023.09-0-Linux-x86_64.sh
  • 1

安装后重新启动Ubuntu,终端窗口出现base字样,即安装成功。

如果重启时候,打开终端,发现没有base字样,键入conda -V,查看conda版本信息,弹出conda command not found,说明 anaconda3 的路径没有加入到环境变量中。
在这里插入图片描述

打开~/.bashrc文件:

sudo gedit ~/.bashrc
  • 1

在打开的文件末尾加上export PATH=$PATH:/home/sherlock/anaconda3/bin,保存并退出。

在这里插入图片描述

然后激活环境变量:

source ~/.bashrc
  • 1

在这里插入图片描述

打开新的终端,还是没有base字样,但是conda命令可以用,终端键入以下命令:(旧版本是用conda activate base,但是新版本需要用source

source activate base
  • 1

在这里插入图片描述

发现出现base字样,但是打开新的终端之后,又没有了。因此,在base环境被激活之后,执行以下命令:

conda init
  • 1

在这里插入图片描述

打开新的终端,发现有base字样。解决!

创建新的虚拟环境

conda create -n DSCMT -y python=3.7 pip
  • 1

在这里插入图片描述

使环境生效,即打开虚拟环境:

conda activate DSCMT
  • 1

在这里插入图片描述

退出当前虚拟环境:

conda deactivate
  • 1

Docker(DSCMT项目尚未用到)

安装

卸载可能存在的旧版本:

sudo apt-get remove docker docker-engine docker-ce docker.io
  • 1

更新apt包索引:

sudo apt-get update
  • 1

安装以下包以使apt可以通过HTTPS使用存储库(repository):

sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
  • 1

添加Docker官方的GPG密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • 1

使用下面的命令来设置stable存储库:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  • 1

再更新一下apt包索引:

sudo apt-get update
  • 1

列出可用的版本:

apt-cache madison docker-ce
  • 1

在这里插入图片描述选择要安装的特定版本,第二列是版本字符串,第三列是存储库名称,它指示包来自哪个存储库,以及扩展它的稳定性级别。要安装一个特定的版本,将版本字符串附加到包名中,并通过等号(=)分隔它们:

sudo apt-get install docker-ce=<VERSION>
  • 1

安装最新版本的Docker CE:

sudo apt-get install -y docker-ce
  • 1

查看Docker版本:

(base) sherlock@PC:~$ docker version
Client: Docker Engine - Community
 Version:           25.0.0
 API version:       1.44
 Go version:        go1.21.6
 Git commit:        e758fe5
 Built:             Thu Jan 18 17:09:49 2024
 OS/Arch:           linux/amd64
 Context:           default
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

验证

测试Docker,经典的hello world:

sudo docker run hello-world
  • 1

上面的 docker 命令将下载 hello-world 容器镜像,然后将启动一个容器。如果容器显示下图提示信息,那么我们可以说 docker 安装成功了。以上 docker 运行的输出如下所示:
在这里插入图片描述

查看docker服务是否启动:

systemctl status docker
  • 1

在这里插入图片描述

以上输出确认 docker 守护进程服务已启动并正在运行。
启动docker服务:

sudo systemctl start docker
  • 1

停止:

sudo systemctl stop docker
  • 1

重启:

sudo systemctl restart docker
  • 1

设置开机启动:

sudo systemctl enable docker
  • 1

NVIDIA

安装显卡驱动

使用标准Ubuntu仓库进行半自动安装(更推荐下面的全自动安装)

#1.查看显卡型号及推荐的驱动版本(如下图)
ubuntu-drivers devices
#2.自动安装推荐的显卡驱动版本
sudo ubuntu-drivers autoinstall
#3.查看驱动信息,确认安装成功
nvidia-smi 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述
发现网络崩掉了!无法联网了。

改换全自动安装显卡驱动

手动安装的驱动容易出现问题,因此采用全自动的。

打开Ubuntu中软件及更新,切换到附加驱动界面。如果是一片空白,打开终端,键入以下三行命令即可解决:

sudo add-apt-repository ppa:graphics-drivers/ppa 
sudo apt-get update   
ubuntu-drivers devices 
  • 1
  • 2
  • 3

然后重新打开软件及更新的附加驱动界面。选择半自动安装中第二行命令推荐的驱动版本安装。如下图:

在这里插入图片描述

下载完成之后,重启电脑,发现网络再一次崩溃了!!

问题肯定是驱动安装后,影响了网络驱动。

解决显卡驱动安装后网络崩溃问题

原因:显卡驱动安装或者更新过程中,升级了内核,导致一些和内核相关包的缺失。

在不能上网的内核(电脑)中,终端键入uname -a查看内核版本:(此电脑为6.5.0-21版本)

在这里插入图片描述

重启电脑进入引导菜单,选择Ubuntu高级选项,发现在6.5.0-21版本(新版本)下面还有一个6.2.0-26版本(旧版本)。进入旧版本,发现可以联网,所以肯定是新版本中缺少了一些旧版本中的包。

在可以上网的旧版本的终端键入dpkg --get-selections | grep linux查看包:

在这里插入图片描述

对比发现,新版本比旧版本缺少了三个包,命令行下载安装即可:

sudo apt-get install linux-headers-6.5.0-21-generic
sudo apt-get install linux-hwe-6.5-headers-6.5.0-21
sudo apt-get install linux-modules-extra-6.5.0-21-generic
  • 1
  • 2
  • 3

在这里插入图片描述

下载完成之后,重启进入新版本,直接选择Ubuntu进入即可。发现可以联网了!

CUDA

安装

终端键入nvidia-smi查看显卡信息,发现最高支持cuda12.2:

在这里插入图片描述

在这里插入图片描述
由于DSCMT项目中规定需要用到PyTorch1.10,而对应的cuda版本为11.3,因此需要下载该版本。如果没有特殊要求,可以根据自己的喜好下载对应版本。

在这里插入图片描述

CUDA官网https://developer.nvidia.com/cuda-toolkit-archive上下载自己需要的,注意不超过显卡支持的最高版本。

在这里插入图片描述
cuda11.3最高支持的是Ubuntu20.04,但是网上的教程上说在Ubuntu22.04中可以直接使用Ubuntu20.04代替,亲测可以安装成功。

在终端中依次执行最下面的两行命令:

在这里插入图片描述

第一行为下载文件,也可以通过链接直接在网页上下载。
第二行为安装命令。

报错1:/tmp目录空间不够

Extraction failed.
Ensure there is enough space in /tmp and that the installation package is not corrupt
Signal caught, cleaning up
  • 1
  • 2
  • 3

意思是/tmp目录下空间不足,或者安装包损坏了。

在尝试重新下载了几次安装包后,确认是空间不足的原因。在终端键入以下命令:

sudo mkdir /home/sherlock/tmp

sudo sh cuda_12.1.1_530.30.02_linux.run --tmpdir=/home/sherlock/tmp
  • 1
  • 2
  • 3

重新执行安装命令。出现以下界面,一定要选择Continue,因此之前已经安装过显卡驱动了,这里就不重复安装了。

在这里插入图片描述

报错2:缺少gcc包或者版本不匹配

Failed to verify gcc version. See log at /var/log/cuda-installer.log for details.
  • 1

意思是缺少gcc包,或者gcc版本不匹配。

返回到cuda官网,在进行版本选择的界面,点击红框部分:

在这里插入图片描述

找到下面红框位置,点击箭头所指:

在这里插入图片描述

在下面的界面中,可以看到需要的gcc版本为9.x

在这里插入图片描述

虚晃一枪:
为了方便,直接选择用以下两条命令进行安装:(容易导致安装的gcc版本不匹配,还是用下面的命令直接安装比较好)

sudo apt update
sudo apt install build-essential
  • 1
  • 2

第二条命令实际上安装的是build-essential,它包含了 GNU 编辑器集合,GNU 调试器,和其他编译软件所必需的开发库和工具。这个命令将会安装一系列软件包,包括gcc,g++,和make。

真正的解决方案:
安装结束后继续报错gcc版本不匹配,安装的版本为gcc 11.2.0。命令行重新安装gcc 9.x

sudo apt install gcc-9 g++-9
  • 1

安装之后,可以通过gcc-9命令使用gcc 9.5了。

在这里插入图片描述

使用gcc --version查看当前电脑的gcc版本,如果不是9.x,需要切换gcc的版本。参考https://blog.csdn.net/muxuen/article/details/135298656?spm=1001.2014.3001.5506

gcc版本控制,切换gcc版本

119版本的gcc添加到update-alternatives工具中,就可以方便的切换,不需要手动设置命令的软连接。

使用如下命令查看当前可以用来直接替换gcc的版本号,由于两个gcc版本都还没有加入到这个工具中,所以显示为空。

> sudo update-alternatives --config gcc
update-alternatives: error: no alternatives for gcc
  • 1
  • 2

可以使用下面的命令查看装好的gcc版本:

dpkg -l | grep gcc
  • 1

在这里插入图片描述
终端键入以下命令将gcc-9和gcc-11分别添加到update-alternatives工具中:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 20 --slave /usr/bin/g++ g++ /usr/bin/g++-9
  • 1
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 25 --slave /usr/bin/g++ g++ /usr/bin/g++-11
  • 1

再次执行sudo update-alternatives --config gcc,此时就能看到两个版本的可选项了:

在这里插入图片描述
键入序号来选择你需要切换的gcc版本,回车即可。比如当前我需要gcc-9,因此键入2后回车。

通过gcc --version查看当前gcc版本:

在这里插入图片描述
说明gcc版本切换成功!

问题解决后继续安装CUDA

重新运行安装cuda的命令:

在这里插入图片描述

出现上面界面时用键盘的方向下键,选到Continue,然后Enter

在这里插入图片描述

上面界面中,键入accept,按Enter

在这里插入图片描述

这个界面中,先让光标停在Driver(刚进入时就在Driver上),按Enter,取消选择(方括号中的X消失),然后按方向下键选择到install,再按Enter

正常应该是直接跳出下面的summary界面,但是我的直接结束了,所以又重新执行了一下。

在这里插入图片描述

配置环境

sudo gedit ~/.bashrc
  • 1

在这里插入图片描述

将下面的代码加到文件中,保存并退出。

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CPUTI/lib64
export CUDA_HOME=/usr/local/cuda/bin
export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME
  • 1
  • 2
  • 3

在这里插入图片描述
使用下面的命令重新激活文件,使得系统完成配置更新:

source ~/.bashrc
  • 1

检查配置是否正确:

nvcc -V
  • 1

在这里插入图片描述
出现以上界面,说明cuda 11.3安装成功。

PyTorch

安装

终端进入之前创建的虚拟环境DSCMT。

打开PyTorch官网https://pytorch.org/get-started/previous-versions/,找到要安装的版本。

在这里插入图片描述
将该命令复制后键入终端进行下载:

conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge
  • 1

在这里插入图片描述
出现以下界面,说明PyTorch安装成功!

在这里插入图片描述

验证

终端进入python环境,导入torch库后,执行以下命令,返回为True说明pytorch可以正常调用GPU去进行计算,否则配置有问题。

print(torch.cuda.is_available())
  • 1

在这里插入图片描述

OpenCV

安装依赖包

依次执行以下命令,安装OpenCV需要的依赖包:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper1 libjasper-dev libdc1394-dev
  • 1
  • 2
  • 3
  • 4
  • 5

最后一行命令在安装的时候容易出现报错:

在这里插入图片描述参考了网上很多添加镜像链接的教程,都无法解决该问题,最后通过下面这种方法解决了。

依次执行命令:

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
sudo apt update
  • 1
  • 2
  • 3

在这里插入图片描述

然后重新下载两个包libjasper1libjasper-dev

sudo apt install libjasper1 libjasper-dev
  • 1

在这里插入图片描述

成功!

重新执行容易出错的那条命令,完成其余包的安装:

sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper1 libjasper-dev libdc1394-dev
  • 1

在这里插入图片描述
所有尚未安装成功的包都成功安装好了。

Cmake编译并安装

OpenCV官网https://opencv.org/releases/page/2/上下载OpenCV – 4.5.1,并解压。

终端打开OpenCV – 4.5.1的目录,新建文件夹build,用于存放编译后的文件。然后执行以下命令,用于Cmake的编译:

sudo cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
  • 1

在这里插入图片描述
注意该命令中:
OPENCV_GENERATE_PKGCONFIG=ON这个配置一定要加上,Linux下我们使用opencv,需要使用pkg-config来进行环境变量的管理,这个软件需要.pc类型的文件作为软件配置信息,如果我们不配置,会出现opencv安装成功但是c编程无法使用的情况。
另外就是 CMAKE_INSTALL_PREFIX=/usr/local这个关于安装路径的配置,这里的安装路径是在/usr/local下,这也是opencv的默认配置。
千万注意,最后的两个点点..,千万不要删,这个指向CMakeLists.txt所在的目录。

其他编译项:
-D WITH_CUDA=OFF 有cuda编译时改为ON
-D WITH_FFMPEG=ON 要提前安装ffmpeg才能ON
需要编译contrib,指定代码路径:-D OPENCV_EXTRA_MODULES_PATH=/home/ly/opencv_contrib-4.0.0/modules
其他还有好多配置项,需要根据具体应用场景使用,如果只是OpenCV普通应用的话,都无需配置。

在这里插入图片描述
出现以上界面说明Cmake编译成功!

终端键入nproc查看电脑处理器的核心数:

在这里插入图片描述
执行下面的命令开始编译过程:(-j后面的数字根据自己电脑的核心数更改)

sudo make -j8
  • 1

在这里插入图片描述

报错了!

解决方案:
通过执行以下命令,打开文件gapi_async_test.cpp,加入头文件#include <thread>,保存并退出。

sudo gedit ./opencv-4.5.1/modules/gapi/test/gapi_async_test.cpp
  • 1

在这里插入图片描述
在这里插入图片描述
重新进行编译:

在这里插入图片描述

在这里插入图片描述

出现以上界面,编译成功!

安装OpenCV:

sudo make install
  • 1

在这里插入图片描述

环境配置

在文件夹/etc/ld.so.conf.d/中加入对于库的.conf文件,首先新建opencv.conf并打开:

sudo gedit /etc/ld.so.conf.d/opencv.conf
  • 1

在文件中写入/usr/local/lib

在这里插入图片描述保存并退出后,终端输入以下代码,将/etc/ld.so.conf.d中的数据读入缓存:

sudo ldconfig 
  • 1

在这里插入图片描述

添加pkg-config环境变量,配置bash,修改bash.bashrc文件:

sudo gedit /etc/bash.bashrc
  • 1

在文末加上:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
  • 1
  • 2

在这里插入图片描述

保存后退出,终端输入以下命令使配置激活生效:

source ~/.bashrc
  • 1

更新一下:

sudo apt install mlocate
sudo updatedb
  • 1
  • 2

在这里插入图片描述

验证

查看一下opencv的版本信息,终端输入 注意是opencv4

pkg-config --modversion opencv4
  • 1

如下图,正确显示版本号表示opencv安装成功!

在这里插入图片描述

Pillow

安装

终端进入虚拟环境后,执行一下命令进行安装:

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev
pip install pillow==8.3.1
  • 1
  • 2

在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/985536
推荐阅读
相关标签
  

闽ICP备14008679号