Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误


本篇文章包含内容较多,请参照目录浏览,在每一部分结束或,有该部分可能遇到的问题

0、开始本教程前请先备份电脑中的重要文件!!!!

1、Ubuntu20.04 搭建

更详细的内容请参照该博客:https://www.cnblogs.com/masbay/p/10745170.html

我的电脑为UEFI新式bios+双硬盘(SSD固态硬盘+机械硬盘)模式,其他情况请参照上述博客

1.1 为Ubuntu准备空间

1.1.1 在 WIN10系统下创建空白磁盘分区

1.1.1.1 回到桌面,鼠标右键点击此电脑,选择管理,结果如下:

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第1张图片

1.1.1.2 进入然后选择磁盘管理,结果如下:

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第2张图片

1.1.1.3 选择主分区,一般是最大的分区,右键,点击“压缩”,压缩出500M即可

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第3张图片

压缩完得到大小500M的可用空间,记住你设置的大小,这里是500M

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第4张图片

1.1.2 准备一块Ubuntu系统的主空间

上面的500M 相当于C盘,我们给500M即可,接下来我们要为系统准备主空间,将一块硬盘分区直接当作空间,在安装时格式化,也可以使用 DiskGenius 重新划分分区。W

下载地址:https://www.diskgenius.cn/download.php

1.2、制作Ubuntu的U盘安装文件

1.2.1 下载安装并打开软碟通,插上 U 盘,并且最好备份你的 U 盘,因为之后需要格式化

下载地址 https://cn.ultraiso.net/xiazai.html

1.2. 2 进入软碟通,进行如下操作 选择文件,并且打开你下载的 ubuntu 所在的目录,选择 unbuntu 镜像

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第5张图片Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第6张图片

1.2.3 在软碟通界面菜单栏选择启动,选择写入硬盘映像,如图所示:

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第7张图片
Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第8张图片

1.2.4 检查以下内容:

  • 看你的硬盘驱动器是否对应的是你的 U 盘(必须是) ,一般默认是
  • 看映像文件是否对应你的 ubuntu 镜像
  • 如果上述均没有错误,选择格式化,之后就会格式化你的 U 盘
  • 在 U 盘格式化完毕之后,选择写入,之后就是慢慢等待了,等待写入完毕

1.3 U盘安装系统

1.3.1 确认自己电脑主板bios怎么进入,我的是联想笔记本,开机时按F12即可,其他笔记本可参考下图(如果连bios都不会进,那本篇教程可能不适合你,先学学基础知识吧)

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第9张图片

1.3.2 进入bios这里要干两件事情,都非常重要!

1.3.2.1 关闭在boot manager里关secure boot!(有些secure boot在另外的位置,自己找找)

如果不关可能导致显卡驱动安装出现问题

1.3.2.2 设置计算机启动顺序,选择usb启动,然后重启

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第10张图片

1.3.3 进入Ubuntu安装系统,选择中文,接下来都是一些常见的设置,根据自己情况设置,直到遇见"安装类型"选项

可以选择不联网,节约安装时间,在安装中途联网也是可以跳过的
Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第11张图片

1.3.3 在安装类型这里选择"其他类型"!!非常重要!!可能界面有所区别,但内容不会差很多

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第12张图片

1.3.4 进行手动分区,还记得我们整理出来的安装系统的500M吗?选择它,并在挂载点中选择/boot 如果遇到无法选择的情况,在左下角有+和-,可以重新划分

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第13张图片

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第14张图片

1.3.5 在 我们预留的主分区中,选择挂载点 / 如果遇到无法选择的情况,在左下角有+和-,可以重新划分

1.3.6 接下来就选择开始安装了,按你需要设置,也可以直接继续,不影响,最后是设置系统用户,自己设置输入就可以了

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第15张图片

1.3.7 接下来等待安装完成即可,安装完成应当如图

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第16张图片

1.3.8 重启电脑,开机时会进入grub,windows boot manager 为原来的windows系统,选择相应的系统即可

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第17张图片

1.4 可能遇到的问题

1.4.1 DiskGenius重新划分分区时遇到"$Bitmap 有标记已使用的未用簇"

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第18张图片
解决办法 使用管理员运行cmd,在命令行中输入“chkdsk /f /x c:”,最后的c:替换为需要检查的盘符,
如遇到"已被占用,不能卸载",则会提示在开机是进行检查,确定并重启即可

1.4.2 windows boot manager 无法进入系统,进入后来到哦系统恢复界面,且点击"继续启动windows"循环这一过程.

这里的情况比较复杂,但很可能是windows的引导程序出现问题.
可以尝试以下方法:

  1. 制作windows的启动盘.这里可以试试老毛桃,傻瓜式安装,而且后面的引导修复工具也可以用到.下载完整版https://www.laomaotao.net/
  2. 与1.3.1 方法相同,进入win pe
  3. 可以使用老毛桃的引导区一键修复

2.安装NVIDIA 驱动

这里采用的是分开安装驱动和cuda的方式,首先确定自己显卡的型号和支持的cuda版本!!
可以参考 https://jingyan.baidu.com/article/6fb756ec4fabc4241858fbf7.html
没有NVIDIA控制面板就去在windows下安装驱动

2.1 从官网下载驱动.run 文件

https://www.nvidia.com/Download/index.aspx?lang=cn

2.2 打开终端输入以下命令删除旧驱动

sudo apt-get purge nvidia*

2.3 禁用nouveau

2.3.1 首先利用命令行打开blacklist.conf,在文件末端加入内容

sudo gedit /etc/modprobe.d/blacklist.conf

2.3.2 在文件末端加入以下内容

blacklist nouveau
options nouveau modeset=0

2.3.3 然后更新

 sudo update-initramfs -u

2.3.4 最后重启

终端下输入命令 lsmod | grep nouveau 查看是否被禁用,没有任何输出说明禁用成功

2.4 安装相关依赖

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

2.5 禁用图形界面

使用
crtl+alt+f1~f6 打开tty界面,输入用户名密码登录
使用

sudo service lightdm stop

禁用图形界面。

2.6 赋予.run文件执行权

sudo chmod 775 ****.run

2.7 运行安装文件,基本上一路OK就好,注意不要安装opengl相关

sudo sh ./NVIDIA-Linux-***.run --no-opengl-files

2.8 挂在驱动

modprobe nvidia

2.9 安装完成,验证

sudo nvidia-smi

出现以下样子说明安装成功
Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第19张图片

2.10 可能遇到的问题

2.10.1 提示注册secure boot相关

退出安装,进入bios,关闭secure boot,具体可以参见1.3.2.1

3 安装cuda11.1

3.1 首先确认自己显卡支持的cuda版本并下载

cuda下载地址: https://developer.nvidia.com/zh-cn/cuda-downloads

3.2 运行.run文件

sudo sh cuda_9.0.176_384.81_linux.run

3.3 有些会让你输入accept 有些是选择yes,基本一路统一就好

3.4设置环境变量

3.4.1打开.bashrc文件

vim .bashrc

3.4.2 文末添加如下

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

3.4.3退出vim刷新环境变量

source ~/.bashrc

3.5 验证安装

输入

nvcc --version

如果出现下图说明安装成功了
在这里插入图片描述

4 安装cudnn

cudnn的安装非常简单

4.1 下载安装文件

按需求下载cudnn的安装文件:https://developer.nvidia.com/rdp/cudnn-archive

4.2 解压缩,可以看到名为cuda 的文件夹,在当前目录打开终端,执行如下命令

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
 
sudo chmod a+r /usr/local/cuda/include/cudnn.h
 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

4.3 验证安装,在终端输入

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

如看到下图说明安装成功
在这里插入图片描述

5安装opencv

5.1 安装cmake

sudo apt-get install cmake

5.2 安装依赖环境

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

5.3 下载自己需要的opencv版本

我是Ubuntu20.04+NVIDIA drive 460.39+cuda11.1,在安装opencv-2.4.11时遇到了严重的问题!!无法解决。通过重新安装opencv-3.4.13解决了。无特殊版本需求的话可以先考虑opencv-3.4.13。

下载地址:https://opencv.org/releases/
点击Sources进行下载自己需要的版本
Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第20张图片

5.4 解压文件并进入文件夹

5.5 进入文件夹后新建名为build的文件夹并进入

mkdir build
cd build

5.6 cmake(这一步可能会遇到很多问题,见这一部分后面的常见问题)

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local..

5.7 进行编译,需要的时间会比较长,可以使用多线程

sudo make -j8

5.8 进行安装

sudo make install

5.9 配置环境

gedit打开/etc/ld.so.conf

sudo gedit /etc/ld.so.conf

gedit打开/etc/ld.so.conf执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加

/usr/local/lib  

gedit打开/etc/ld.so.conf

sudo ldconfig  

配置bash

sudo gedit /etc/bash.bashrc  

在最末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  

保存,执行如下命令使得配置生效

source /etc/bash.bashrc  

更新

sudo updatedb  

5.10验证安装

cd到opencv-3.4.1/samples/cpp/example_cmake目录下,顺序执行以下命令

cmake .
make
./opencv_example

即可看到打开了摄像头,在左上角有一个hello opencv ,即表示配置成功。
Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第21张图片

5.11 可能遇到的问题

在安装opencv-2.4.11遇到了以下问题,解决后依旧不能正确安装,版本更换至opencv-3.4.13后不再有任何问题

5.11.1 sys/videoio.h not found

到在usr/include中执行下面命令

sudo mkdir sys

在sys文件夹中添加网上找的videoio.h,或者直接新建一个videoio.h文件,内容可以为空,即可解决

5.11.2 linux/videodev.h not found

sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h

5.11.3 ffmpeg/avformat.h not found

sudo ln -s /usr/local/include/libavformat ffmpeg

6 安装darknet

6.1 下载darknet

git clone https://github.com/pjreddie/darknet     下载代码

6.2 下载yolo3配置文件

wget https://pjreddie.com/media/files/yolov3.weights

6.3 进入到下载下来的darknet文件夹下,打开Makefile,对如下几个地方进行修改

这里的ARCH= -gencode arch=compute_61,code=[sm_61,compute_61]根据自己的GPU型号的计算能力进行设置,可以通过下面链接查找GPU的计算能力。GTX1080Ti的计算能力是6.1,所以设置为61,其他型号的对照修改吧。
https://developer.nvidia.com/cuda-gpus

Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第22张图片

6.5 编译

make -j8

6.6 检验,在darknet目录下打开终端,输入

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

出现下图说明成功
Ubuntu20.04+cuda11.1+yolo3 目标检测 深度学习系统 真正从0搭建 包含各种可能遇到的错误_第23张图片

你可能感兴趣的:(随手记录平时遇到的问题,linux,ubuntu,深度学习,pytorch)