已经安装过一次yolov5的pytorch版本. 这次又要在生产环境安装一次,
记录一下,方便以后解决问题
首先从 https://github.com/ultralytics/yolov5 下载源代码.

一.安装requirements.txt 中指定的 所需的环境.

不建议用pip一次性全部安装, 不容易成果, 最好用conda 逐个安装
例如改成我下面的代码, 一行一行的安装容易成果.
这个安装的时候 torch 是最不容易安装成功的. 好像要用pip 安装.
为了提高conda的安装速度建议切换到清华源,切换到国内源,见我写的另外一篇文章. <<清华源安装 pytorch>>
安装完pytorch之后,下面安装其它所需的组件

conda install Cython
conda install matplotlib>=3.2.2
conda install numpy>=1.18.5
conda install opencv-python>=4.1.2
conda install pillow
conda install PyYAML>=5.3
conda install scipy>=1.4.1
conda install tensorboard>=2.2
conda install tqdm>=4.41.0
conda install torchvision>=0.7.0

pip install torch>=1.6.0 #这个必须用pip安装

安装完毕,

二 检查一下运行环境是不是都正常了.
执行下面的识别指令.

$> python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.4

理论上一定会报错的, 要针对具体问题进行具体的解决. 例如我是在window下的, 缺少vc++ 需要安装vc++ 提示如下


$> python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.4
Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure.
                 It can be downloaded at https://aka.ms/vs/16/release/vc_redist.x64.exe
Traceback (most recent call last):
  File "detect.py", line 9, in <module>
    import torch
  File "C:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\torch\__init__.py", line 127, in <module>
    raise err
OSError: [WinError 126] 找不到指定的模块。 Error loading "C:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\torch\lib\asmjit.dll" or one of its dependencies.

这个的意思是缺少vc++ 到提示的地址 https://aka.ms/vs/16/release/vc_redist.x64.exe 下载安装
然后在次执行

$> python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.4

咦! 最新版竟然会自动到网上去下载缺失的 yolov5s.pt
之前版本要去google下载.因为google被屏蔽了.现在它会到github.com去下载. 太贴心了,虽然有点慢, 但总比下不到要好的多…
(额事实证明,自动下还是太慢了, 把网址复制出来, 请出我们的下载神器迅雷… 嗖嗖嗖几下就完成了.)

https://github.com/ultralytics/yolov5/releases/download/v3.0/yolov5s.pt //小而快
https://github.com/ultralytics/yolov5/releases/download/v3.0/yolov5x.pt //大而全

然后用把下载的文件放到weights文件夹下.
改一下命令 使用刚下载的预训练权重文件 ./weights/yolov5s.pt

$> python detect.py --source ./inference/images/ --weights ./weights/yolov5s.pt --conf 0.4

那么你./interface/imgs 目录下 的所有图片和MP4 视频都会被识别一次