ubuntu20.04极简配置一个深度学习环境(代码片段)

帅的发光发亮 帅的发光发亮     2022-10-24     130

关键词:

目录

ubuntu的内核配置

避免安装cuda后更新liunx内核引发的cuda驱动错误

系统更新

sudo apt update && sudo apt full-upgrade -y

查看所有内核

dpkg --get-selections | grep linux

终端显示:

binutils-x86-64-linux-gnu					install
console-setup-linux				    		install
libselinux1:amd64				    		install
libselinux1-dev:amd64						install
linux-base					        		install
linux-firmware					    		install
linux-generic					    		install
linux-generic-hwe-20.04						install
linux-headers-5.13.0-44-generic				install
linux-headers-5.13.0-51						install
linux-headers-5.13.0-51-generic				install
linux-headers-generic						install
linux-headers-generic-hwe-20.04				install
linux-hwe-5.13-headers-5.13.0-44				install
linux-hwe-5.13-headers-5.13.0-74				install
linux-image-5.13.0-44-generic				install
linux-image-5.13.0-51-generic				install
linux-image-generic							install
linux-image-generic-hwe-20.04				install
linux-libc-dev:amd64						install
linux-modules-5.13.0-44-generic				install
linux-modules-5.13.0-74-generic				install
linux-modules-5.13.0-51-generic				install
linux-modules-extra-5.13.0-44-generic		install
linux-modules-extra-5.13.0-51-generic		install
linux-signed-generic-hwe-20.04				install
linux-sound-base							install
pptp-linux									install
util-linux									install

删除冗余的内核

sudo apt-get remove \\
linux-headers-5.13.0-44 \\
linux-headers-5.13.0-44-generic \\
linux-image-5.13.0-44-generic \\
linux-modules-5.13.0-44-generic \\
linux-modules-extra-5.13.0-44-generic

卸载后,再重新检查一下现有的内核:

dpkg --get-selections | grep linux

状态为 deinstall 即已经卸载,如果觉得看着不舒服的话可以使用 purge 连配置文件里一起彻底删除,清理内核列表

sudo apt-get purge \\
linux-headers-5.13.0-44 \\
linux-headers-5.13.0-44-generic \\
linux-image-5.13.0-44-generic \\
linux-modules-5.13.0-44-generic \\
linux-modules-extra-5.13.0-44-generic

最后,更新 GRUB

sudo update-grub

锁定ubuntu的内核

sudo apt-mark hold linux-headers-5.13.0-51
sudo apt-mark hold linux-headers-5.13.0-51-generic
sudo apt-mark hold linux-image-5.13.0-51-generic

解锁ubuntu的内核

sudo apt-mark unhold linux-headers-5.13.0-51
sudo apt-mark unhold linux-headers-5.13.0-51-generic
sudo apt-mark unhold linux-image-5.13.0-51-generic

配置完后建议重启机器:

sudo reboot now

安装cuda11.3和cudnn8.2.1

在系统的软件和更新中找到附加驱动的选项。选择 nvidia-driver-510,勾选后直接点击应用更改。

我这里直接提供预先下载好的cuda11.3+cudnn8.2.1百度网盘

安装CUDA11.3

sudo sh cuda_11.3.1_465.19.01_linux.run

会等上一段时间,跟着提示操作就行。
最后按如下步骤操作

最后

sudo nano  ~/.bashrc

写入

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

更新~/.bashrc

source  ~/.bashrc

验证:

nvcc -V

安装正确情况如下:

l@l-GF63-Thin-9SC:~/Desktop$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_May__3_19:15:13_PDT_2021
Cuda compilation tools, release 11.3, V11.3.109
Build cuda_11.3.r11.3/compiler.29920130_0

安装cudnn8.2.1

sudo dpkg -i libcudnn8_8.2.1.32-1+cuda11.3_amd64.deb
sudo dpkg -i libcudnn8_8.2.1.32-1+cuda11.3_amd64.deb
sudo dpkg -i libcudnn8-samples_8.2.1.32-1+cuda11.3_amd64.deb

安装一些必要的库:

sudo apt-get install libfreeimage3 libfreeimage-dev freeglut3 freeglut3-dev libglfw3-dev -y

测试

sudo cp -r /usr/src/cudnn_samples_v8 ~/Desktop
cd mnistCUDNN && sudo make -j2 && ./mnistCUDNN

结果如下即为正确:

安装OpenCV4.6.0支持cuda加速

安装相关依赖

sudo apt-get update sudo apt-get upgrade -y
sudo apt-get install build-essential cmake cmake-gui unzip pkg-config -y
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libgtk2.0-dev libv4l-dev libxvidcore-dev libx264-dev libtbb2 libtbb-dev libdc1394-22-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libjasper-dev libgtk-3-dev libatlas-base-dev liblapacke-dev gfortran python3-dev ffmpeg -y && sudo apt autoremove -y

如果出现 E: 无法定位软件包 libjasper-dev 问题,执行一下如下指令

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update

再次运行安装Opencv相关依赖的命令即可。

编译安装

百度网盘
1.CMake
在终端打开cmake-gui:

sudo apt-get install cmake-gui

分别配置 sourcebuild路径,sourceopencv的源码路径,build是前面新建的build文件夹路径。
安装过程中会出现
然后点击
Configure
,在弹出的窗口中保持默认选项,最后 Finish

有些文件无法下载的情况。

这是由于无法正常访问 https://raw.githubusercontent.com 网站,可以通过修改 hosts 文件的方式来解决:
(1)使用 sudo nano /etc/hosts,打开hosts文件。
(2)在文件中尾添加185.199.109.133 raw.githubusercontent.com。
可在https://ipaddress.com/website/raw.githubusercontent.com中选取最优的配置。
(3)sudo systemctl restart NetworkManager.service重启网络服务,使上述修改生效。
(4)ping raw.githubusercontent.com,如果能 ping 通,且延时不大,则说明能正常访问。

-- IPPICV: Downloading 
-- ippicv_2020_lnx_intel64_20191018_general.tgz from https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_lnx_intel64_20191018_general.tgz
-- found Intel IPP (ICV version): 2020.0.0 [2020.0.0 Gold]
-- at: /home/l/opencv-4.6.0/build/3rdparty/ippicv/ippicv_lnx/icv
-- found Intel IPP Integration Wrappers sources: 2020.0.0
-- at: /home/l/opencv-4.6.0/build/3rdparty/ippicv/ippicv_lnx/iw

在正常的理想网络状况下,所有的文件都会被正确的下载完成,但是免不了一些意外情况。配置下载过程中还可能会出现: face_landmark_model.dat 下载缺失的情况,原因就是这个文件太大了,下载过程中网速也慢。下载过程中经常会出错。
为了能够更好跳过痛苦的折磨,这里提供一下我下载好的数据文件
注意带“.”文件会被隐藏。注意你下载保存的位置
下载完成后直接解压即可到了你的 opencv 文件目录即可,我的目录如下:

sudo unzip -d  /home/l/opencv-4.6.0/ .cache.zip

勾选下面的编译选项:
WITH_CUDA
BUILD_CUDA_STUBS
OPENCV_DNN_CUDA
ENABLE_FAST_MATH
CMAKE_BUILD_TYPE 中添加 Release
CMAKE_INSTALL_PREFIX 中添加路径 /usr/local
OPENCV_EXTRA_MODULES_PATH 中添加
opencv_contrib-4.6.0 中的 modules 的路径:
/home/l/opencv-4.6.0/opencv_contrib-4.6.0/modules

再点击 Configure,结束后勾选 CUDA_FAST_MATH ,在 CUDA_ARCH_BIN中选择保留需要的算力值,可以在通过此页面查询显卡对应的算力值,这里保留了7.0;7.5,最后再点击进行一次Configure

如上图中成功的显示 CUDACUDNN的版本即可,然后点击Generate,结束后关闭cmake-gui。

2.make
执行下面的命令,等待很长一段时间:

cd /home/l/opencv-4.6.0/build
sudo make -j$(nproc)

3.安装

sudo make install

4.环境配置

sudo echo “include /etc/ld.so.conf.d/*.conf” /etc/ld.so.conf && sudo echo “include /usr/local/lib” /etc/ld.so.conf
sudo ldconfig
sudo echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig" /etc/bash.bashrc && sudo echo "export PKG_CONFIG_PATH" /etc/bash.bashrc
source /etc/bash.bashrc

测试

结构如下:

.
├── 1.jpg
├── CMakeLists.txt
└── test.cpp

test.cpp如下:

#include<opencv2/opencv.hpp>
#include<opencv2/cudaimgproc.hpp>

using namespace std;

int main(int argc, char** argv)

	cv::Mat src = cv::imread("1.jpg"); //读取图像,CPU内存读取
	cv::resize(src, src, cv::Size(0, 0), 0.8, 0.8, cv::INTER_CUBIC);//resize
	cv::imshow("input image", src);
	cv::cuda::GpuMat G_image(src);  //还有一种赋值方法,如**释的部分
	//cv::cuda::GpuMat G_image;
	//G_image.upload(src);
	cv::cuda::GpuMat gray;
	cv::cuda::cvtColor(G_image, gray, cv::COLOR_BGR2GRAY);//cuda版本里也有cvtColor这个API
	cv::Mat c_gray;
	gray.download(c_gray); //创建一个CPU mat对象后,由于imshow无法显示GMat对象,所以需要从GMat中取出来赋给CMat对象
	cv::resize(c_gray, c_gray, cv::Size(0, 0), 1.1, 1.1, cv::INTER_CUBIC);//resize
	cv::imshow("gray", c_gray); //imshow显示不了GMat对象
	cv::waitKey(0);
	cv::destroyAllWindows();
	return 0;



CMakeLists.txt如下:

# cmake version
cmake_minimum_required(VERSION 3.8)

# project name
PROJECT(HELLO)

# using C++11
set(CMAKE_CXX_FLAGS "$CAMKE_CXX_FLAGS -std=c++11 ")

# find OpenCV
FIND_PACKAGE(OpenCV REQUIRED)

# show the message of OpenCV
message(STATUS "OpenCV library status:")
message(STATUS "    version: 	$OpenCV_VERSION")
message(STATUS "    headers: 	$OpenCV_INCLUDE_DIRS")
message(STATUS "    libraries: 	$OpenCV_LIBS")

# link headers
INCLUDE_DIRECTORIES(OpenCV_INCLUDE_DIRS)

# 添加源代码文件到SRC_LIST变量中
AUX_SOURCE_DIRECTORY(. SRC_LIST)

# 生成可执行文件
ADD_EXECUTABLE(test $SRC_LIST)

# after ADD_EXECUTABLE,为生成文件target添加库
TARGET_LINK_LIBRARIES(test $OpenCV_LIBS)

接着:

cmake . && sudo make j2 && ./test

结果:

表明安装成功。

卸载

进入前面建立的build文件夹,打开终端:

sudo make uninstall
cd ..
sudo rm -r build
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
cd /usr/
find . -name "*opencv*" | xargs sudo rm -rf

安装pytorch1.11

参考pytorch官网。
我这里采用的pip安装。没有使用Anaconda或者Miniconda的需要自己配置一下pip。

pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113

linuxubuntu20.04深度学习gpu环境配置(cudatoolkit11.7+cudnnv8.4.1)(代码片段)

....1MinicondaPyTorchTensorFlowGPUstatNetSMTmuxAxel提示参考引言本文以Ubuntu20.04操作系统为例,演示如何配置深度学习GPU环境。方便起见,我们这里可以直接跳过NVIDIA显卡驱动的安装,因为安装CUDA的时候会自动安装。准备开始安装... 查看详情

ubuntu20.04下jupyternotebook配置

...度学习工作站配置指南2、配置与使用jupyternotebook,参考Ubuntu20.04安装Anaconda3+配置+使用jupyternotebook3、修改Jupyternotebook默认目录路径,参考Python:linuxUbuntu16.04下Jupyternotebook改变默认目录路径 查看详情

深度学习环境配置10——ubuntu下的torch==1.7.1环境配置(代码片段)

深度学习环境配置10——Ubuntu下的torch==1.7.1环境配置注意事项一、2022/9/18更新学习前言各个版本pytorch的配置教程环境内容环境配置一、Anaconda安装1、Anaconda的下载2、Anaconda的安装二、Cudnn和CUDA的下载和安装1、Cudnn和CUDA的下... 查看详情

深度学习|计算机视觉环境配置-数据集制作-模型训练一站式教程(ubuntu系统)//

...|计算机视觉环境配置-数据集制作-模型训练一站式教程(Ubuntu系统)文章目录深度学习|计算机视觉环境配置-数据集制作-模型训练一站式教程(Ubuntu系统)一.总体流程二.分步细节2.1环境配置2.1.1Pycharm持续更新一.总体流程基于Linux系统... 查看详情

深度学习环境配置9——ubuntu下的tensorflow-gpu==2.4.0环境配置(代码片段)

深度学习环境配置9——Ubuntu下的tensorflow-gpu==2.4.0环境配置注意事项一、2022/09/04更新学习前言各个版本tensorflow2的配置教程环境内容环境配置一、Anaconda安装1、Anaconda的下载2、Anaconda的安装二、Cudnn和CUDA的下载和安装1、Cudnn... 查看详情

(转)深度学习主机环境配置:ubuntu16.04+nvidiagtx1080+cuda8.0

  深度学习主机环境配置:Ubuntu16.04+NvidiaGTX1080+CUDA8.0发表于2016年07月15号由52nlp接上文《深度学习主机攒机小记》,这台GTX1080主机准备好之后,就是配置深度学习环境了,这里选择了比较熟悉Ubuntu系统,不过是最新的16.04版... 查看详情

ubuntu20.04初步学习区块链部署简单的智能合约(代码片段)

...有链节点首先要安装VMwareworkstations虚拟机,并安装好ubuntu系统。下载地址:下载V 查看详情

ubuntu20.04系统安装及初始配置(代码片段)

文章目录前言一、系统要求二、安装步骤1.下载Ubuntu20.04镜像2.创建启动盘3.启动计算机并进入BIOS/UEFI设置4.进入安装界面(一步步走下去就好)5.完成安装。三、初始配置1、启用root用户2、设定静态IP3、远程访问本机4、换源总结前言... 查看详情

ubuntu18.04/20.04cv环境配置(中):tensorrt+pytorch安装配置(代码片段)

Ubuntu18.04/20.04CV环境配置(上):CUDA11.1+cudnn安装配置_TechblogofHaoWANG的博客-CSDN博客Ubuntu18.0420.04NVIDIACUDA环境配置与cudnnTensorrt等配置与使用https://blog.csdn.net/hhaowang/article/details/12580 查看详情

ubuntu18.04/20.04cv环境配置(中):tensorrt+pytorch安装配置(代码片段)

Ubuntu18.04/20.04CV环境配置(上):CUDA11.1+cudnn安装配置_TechblogofHaoWANG的博客-CSDN博客Ubuntu18.0420.04NVIDIACUDA环境配置与cudnnTensorrt等配置与使用https://blog.csdn.net/hhaowang/article/details/12580 查看详情

ubuntu22.04深度学习gpu环境配置:nvidiacuda11.7cudnn8.5详细解读(20220910)

假设你已经成功安装了最新版本的Ubuntu22.04LTS操作系统,并已经配备了支持深度学习的英伟达GPU,本文将手把手详细解读如何配置环境,包括安装必要的软件:例如驱动515,CUDA11.7,以及cuDNN8.5等。一、显卡驱动最先要做的就是安... 查看详情

ubuntu22.04深度学习gpu环境配置:nvidiacuda11.7cudnn8.5详细解读(20220910)

假设你已经成功安装了最新版本的Ubuntu22.04LTS操作系统,并已经配备了支持深度学习的英伟达GPU,本文将手把手详细解读如何配置环境,包括安装必要的软件:例如驱动515,CUDA11.7,以及cuDNN8.5等。一、显卡驱动最先要做的就是安... 查看详情

ubuntu22.04深度学习gpu环境配置:nvidiacuda11.7cudnn8.5详细解读(20220910)

假设你已经成功安装了最新版本的Ubuntu22.04LTS操作系统,并已经配备了支持深度学习的英伟达GPU,本文将手把手详细解读如何配置环境,包括安装必要的软件:例如驱动515,CUDA11.7,以及cuDNN8.5等。一、显卡驱动最先要做的就是安... 查看详情

深度学习远程炼丹:一文离线完成ubuntu+docker+pycharm环境配置(代码片段)

文章目录前言一、Ubuntu离线安装docker二、dockerhub下载合适镜像三、配置docker容器1.运行容器2.给容器安装openssh-server和openssh-client3.vim打开并修改配置文件4.创建docker中root用户的密码:5.重启ssh服务6.确认docker容器内python位置7.测... 查看详情

c++学习笔记c++编程环境配置(代码片段)

...cc和g++是什么关系?——gcc和g++的区别》1Ubuntu环境配置Ubuntu官方源提供gcc和g++预编译版本Ubuntu-20.04官方源中目前最高提供了 gcc-11的安装包;Note我们尝试在Ubuntu-20.04上执行命令安装 gcc-12:sudoaptinstal... 查看详情

手把手教你搭建深度学习环境(代码片段)

...c;正好要从头配置机器的环境,把环境记录一下1.安装ubuntu系统1.1制作系统盘首先,我们需要准备三个东西ubuntu的镜像文件,我这里选择的是ubuntu-20.04.2.0-desktop-amd64.iso镜像制作软件UISO9一个空的U盘有个这三样我们就可... 查看详情

[深度学习工具]·极简安装dlib人脸识别库(代码片段)

[深度学习工具]·极简安装Dlib人脸识别库Dlib介绍Dlib是一个现代化的C++工具箱,其中包含用于在C++中创建复杂软件以解决实际问题的机器学习算法和工具。它广泛应用于工业界和学术界,包括机器人,嵌入式设备,移动电话和大... 查看详情

ubuntu20.04下配置hal汇编开发环境教程(代码片段)

目录安装解压配置环境变量测试案例安装环境:Ubuntu20.04安装包:linux64.hla.tar.gz这里安装的是64位的,具体与linux.hla.tar.gz有什么不同,没研究过。解压可任选目录,本文在我的用户目录/home/nqw下解压。$tar-xvflinu... 查看详情