Ubuntu+python3.9+yolov5深度学习环境配置 基于PyTorch

本人测试验证环境: Distributor ID: Ubuntu Description: Ubuntu 16.04.6 LTS Release: 16.04 Codename: xenial

安装python3.9

    方式1:通过apt安装 sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update sudo apt-get install python3.9 python3.9-dev 方式2:通过源码安装
  1. 安装依赖项 sudo apt install -y wget build-essential libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
  2. 编译安装 #编译参数设置 ./configure --enable-optimizations --prefix=/usr/local/python3.9 #编译 make -j4 #安装 sudo make install
  3. 设置软连接 sudo ln -s /usr/local/python3.9/bin/pip3.9 /usr/bin/pip3.9 sudo ln -s /usr/local/python3.9/bin/python3.9 /usr/bin/python3.9

安装curl

$ sudo apt install curl

安装官网提供的显卡驱动

    禁用 nouveau驱动: sudo gedit /etc/modprobe.d/blacklist.conf 在最后一行添加: blacklist nouveau 之后,执行命令: sudo update-initramfs -u 重启电脑,查看是否禁用成功: lsmod | grep nouveau # 无显示表明禁用成功。 进入一个非图形终端:Ctrl+Alt+F1,之后输入用户名和密码登录即可(或者ssh远程登录)。 关闭图像化界面:sudo service lightdm stop note:sudo service lightdm start // 打开图像化界面 进入安装目录,赋予可执行权限:chmod +x NVIDIA-Linux-x86_64-465.31.run 执行安装 sudo apt-get remove --purge nvidia* // 卸载老的驱动 sudo ./NVIDIA-Linux-x86_64-465.31.run --no-opengl-files /* note –no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要 –no-x-check 安装驱动时不检查X服务 –no-nouveau-check 安装驱动时不检查nouveau 后面两个参数可不加。 根据交互界面提示默认回车即可 */ sudo reboot // 安装成功之后,重启电脑即可 安装完成后,可以通过nvida-smi查看驱动版本和CUDA版本信息

下载yolov5

    Clone the repository $ git clone https://github.com/ultralytics/yolov5.git Enter the repository root directory $ cd yolov5 Install the required packages from your cloned repository root directory $ pip3.9 --timeout=100 install -r requirements.txt 有可能使用默认源下载超时,可以切换其他源尝试: $ pip3.9 --timeout=1000 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ 临时修改pip源,加参数 -i 源地址 即可 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大学:http://pypi.hustunique.com/ 山东理工大学:http://pypi.sdutlinux.org/ 豆瓣:http://pypi.douban.com/simple/

yolov5本地模型预测

>>> import torch
>>> model=torch.hub.load(/home/joy/src/yolov5, custom, path=/home/joy/src/yolov5/runs/train/exp5/weights/best.pt, source=local)
Fusing layers... 
/home/joy/.local/lib/python3.9/site-packages/torch/nn/functional.py:718: UserWarning: Named tensors and all their associated APIs are an experimental feature and subject to change. Please do not use them for anything important until they are released as stable. (Triggered internally at  /pytorch/c10/core/TensorImpl.h:1156.)
  return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode)
Model Summary: 224 layers, 7053910 parameters, 0 gradients, 16.3 GFLOPs
Adding AutoShape... 
YOLOv5 🚀 v5.0-208-g2296f15 torch 1.9.0+cu102 CUDA:0 (NVIDIA GeForce RTX 2060, 5933.25MB)

>>> img = /home/joy/src/yolov5/1.bmp
>>> results = model(img)
>>> results.show()

扩展

经验分享 程序员 微信小程序 职场和发展