当前位置:   article > 正文

【神经网络务实:Deepin Linux 安装使用yolov5】_linux安装 yolov5 不要github

linux安装 yolov5 不要github

前言:

Yolov5 是目前深度神经网络模型中最火的识别工具,网上教程大都是Ubuntu 或 win10的,为支持简洁易用的国产操作系统Deepin Linux,特花时间探索了一遍。时间也是钱,花钱买一块算力>5的显卡,用GPU训练模型可以节约大量的时间,开始吧,骚年!(参考了本人sina博客的一些内容,故有sina的有部分重复)

一、准备软硬件环境

1、主机:IBMs20工作站

主机最好使用工作站或者服务器,强调一下电源功率>=600W,普通PC机或商用或家用机的电源功率和稳定性不够,等着死机吧!性价比最高的是网上买个二手的IBM工作站,不要买Dell的,保你用不了多久,HP也行。

2、显卡:GTX750TI显卡

土豪买就最新的GTX1080等,吊丝还是买中档的性价比高,比如几年前的GTX750Ti好用又便宜(<1k)。要注意的是显存>=4G, 否则跑神经网络数据量稍大就很容易卡死显卡。

3、操作系统:Deepin Linux

Deepin Linux 比 Ubuntu更符合中国人的使用习惯,稳定性也久经考验,自带常用软件如WPS、QQ、微信、搜狗输入法、截屏工具,还可以运行安卓软件。现在版本有V20,我用的15.8也挺好。
安装过程一句话:下载镜像写入U盘启动主机。更详细的找度十娘。
本教程用的编辑器是小巧可爱的geany,事先安装一下。

  sudo apt install geany
  • 1

4、安装Opengl

先安装自带的opengl是为了避免后面安装nvida驱动时带的有问题

sudo apt-get install build-essential libgl1-mesa-dev
sudo apt-get install freeglut3-dev
sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev
  • 1
  • 2
  • 3

网上找个gl的入门代码保存到test.cpp:

#include "GL/glut.h"
  void init();
  void display();
int main(int argc, char* argv[])
{
  glutInit(&argc, argv);
  glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
  glutInitWindowPosition(0, 0);
  glutInitWindowSize(300, 300);
  glutCreateWindow("土豪专用 3D 夜壶");
  init();
  glutDisplayFunc(display);
  glutMainLoop();
  return 0;
}
void init()
{
  glClearColor(0.0, 0.0, 0.0, 0.0);
  glMatrixMode(GL_PROJECTION);
  glOrtho(-5, 5, -5, 5, 5, 15);
  glMatrixMode(GL_MODELVIEW);
  gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);
}
void display()
{
  glClear(GL_COLOR_BUFFER_BIT);
  glColor3f(1.0, 0, 0);
  glutWireTeapot(3);
  glFlush();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
g++  test.cpp   -l GL -l GLU -l glut  
  • 1

生成一个a.out 即可验证。

./a.out 运行如下结果:

在这里插入图片描述

二、安装N卡驱动和Cuda10

用:“系统设置->软件更新->附加驱动->选择nvidia最新驱动(361)->应用更改”失败!网上的其他方法不能完全禁用nouveau,安装失败!,用以下方法成功。
因为Cuda里包含了N卡的驱动,所以可以直接安装Cuda,不必单独安装驱动。

下载cuda备用
Cuda10.2下载地址

1、除旧

打开终端,先删除旧的驱动:

  sudo apt-get purge nvidia*
  • 1

禁用自带的 nouveau nvidia驱动
创建一个文件blacklist-nouveau.conf, 通过命令

   sudo geany /etc/modprobe.d/blacklist-nouveau.conf
  • 1

并添加如下内容:

blacklist nouveau
options nouveau modeset=0
  • 1
  • 2

再更新一下

 sudo update-initramfs -u
  • 1

修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令:

   lsmod | grep nouveau
  • 1

后没有显示表示已经干掉。

2、迎新

重启系统至init 3(文本模式),也可先进入图形桌面再运行init 3进入文本模式,还可以直接Ctrl+Alt+F2进入第二个控制台再安装下载的驱动就无问题,首先我们需要结束x-window的服务,否则驱动将无法正常安装
关闭X-Window,很简单:

  sudo service lightdm stop
  • 1

然后切换到tty1控制台:Ctrl+Alt+F1即可

3、正式安装

  1. 安装
   sudo sh ./cuda_10.2.89_440.33.01_linux.run 
  • 1

开始有很长的licence阅读,用Enter翻页太久,用Ctrl+c可以快速跳过, 其他的都是默认或者YES, 选择所有选项。
如果出错,它会提示你看log信息,多半是因为nouveau未被成功干掉。

2.添加环境变量

geany ~/.bashrc
  • 1

把下面两行加到最后

export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LIBRARY_PATH
  • 1
  • 2
  • 3

保存,为了生效,需要

  source ~/.bashrc
  • 1

3.测试

cd ~/NVIDIA_CUDA-10.2_Samples/1_Utilities/deviceQuery
make
./deviceQuery```
  • 1
  • 2
  • 3

可以看到如下类似GPU 的型号内存速度等信息。

在这里插入图片描述

最后安装完毕后,重新启动X-Window:

   sudo service lightdm start
  • 1

然后Ctrl+Alt+F1进入图形界面;

4、设置

  nvidia-smi
  nvidia-settings
  • 1
  • 2

没有出错,看看即可,没有什么好设置的。

三、安装cuDNN

去 https://developer.nvidia.com/cudnn 下载, 需要注册,cudnn-10.2-linux-x64-v8.1.0.77
这个安装仅需解压和copy:

tar -xvzf ./cudnn-10.2-linux-x64-v8.1.0.77
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 /usr/local/cuda/lib64/libcudnn*
  • 1
  • 2
  • 3
  • 4

四、安装anaconda 和 torch

单独安装pyhon很多版本问题、依赖问题,还是全家桶好。集成环境anaconda,包括了numpy、scipy、six、matplotlib等几十个扩展包,因此只需要装这一个东西。

1.下载安装anaconda

下载地址

 bash ./Anaconda3-2021.11-Linux-x86_64
  • 1

注意: 此处bash 前一定不要加sudo

它会问你是否将anaconda安装路径加入到环境变量(.bashrc)中,这个一定要输入yes,它会自动加入环境变量。
执行以下命令让环境变量生效:

source ~/.bashrc
  • 1

安装成功后,会有当前用户根目录下生成一个anaconda3的文件夹,里面就是安装好的内容.
创建python 版本环境如下,py38可以改为其他名字:

  conda create -n py38 python=3.8
  conda activate py38
  • 1
  • 2

此时可以看到终端用户名前有(py38),表明当前python环境已经改base为py38.

2. 安装 pytorch

conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
  • 1

终端输入python,然后再输入代码测试:

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

看到结果为True就说明 Torch 和 Cuda 都OK了
在这里插入图片描述

五、安装 Yolov5

  1. 下载
  2. 安装
    解压:
unzip yolov5-master.zip
  • 1

cd 进入 其目录,ls 应该看见有依赖需求文件 requirements.txt
pip 安装即可,此过程需要下载内容多,时间较长,可以起身锻炼一下,让你看起来没那么像码农:)

pip install -r requirements.txt
  • 1
  1. 测试
    需要下载权重文件,但要注意不要下载到默认的V6训练的!否则会出现如下错误:
    AttributeError: Can‘t get attribute SPPF on module models. common
    在这里插入图片描述
    一定要下载v5的如下:
    在这里插入图片描述
    在这里插入图片描述
    下载后放到yolov5的目录下输入
python detect.py --source "./data/images/bus.jpg"

  • 1
  • 2

然后就能出现正确的结果啦!

如果连接了摄像头,Deepin Linux的自带驱动很多,即插即用,无需像windows那样“找到新硬件…,”搞半天。
输入:

python detect.py --source 0
  • 1

即可得到摄像头图像的识别结果如下:
在这里插入图片描述

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

闽ICP备14008679号