飞道的博客

YOLOv5和YOLOv7环境(GPU)搭建测试成功

606人阅读  评论(0)

本来是用doc写的,直接复制到这里很多图片加载缓慢,我直接把doc上传到资源里面了,0积分下载:

(10条消息) YOLOv5和YOLOv7开发环境搭建和demo运行-Python文档类资源-CSDN文库

一、环境搭建

1.1 环境搭建参考链接

YOLO实践应用之搭建开发环境(Windows系统、Python 3.8、TensorFlow2.3版本)_一颗小树x的博客-CSDN博客_yolo配置环境​​​​1.2 Anaconda

官网下载最新版,安装时勾选上添加系统环境变量

PS:整合开发环境,Anaconda是基于conda的Python数据科学和机器学习开发平台,conda是虚拟环境工具+包管理工具,可以用于各种开发语言,这里指Python。conda资源库有上万个第三方库,大部分都是数据科学和机器学习相关领域。

Anaconda | Start Coding Immediately

1.3 Pycharm

官网下载社区版即可。

1.4 安装TensorFlow

TensorFlow:可以拿python最经典的计算包numpy来进行比较,和numpy类似,用于数据计算,常用于开发深度学习框架。

PS:Anaconda和Pycharm的安装不做说明,很简单就是默认安装就行了。

1.4.1 CPU版本(有GPU环境的这一步不需要做)

新建一个YOLO-CPU-TensorFlow2的开发环境

conda create -n YOLO-CPU-TensorFlow2 python=3.9

激活并进入刚才创建的环境

conda activate YOLO-CPU-TensorFlow2

安装tensorflow 2.5.1

pip install tensorflow==2.5.1 -i https://mirrors.aliyun.com/pypi/simple/

验证是否环境安装成功:

python

import tensorflow as tf

tf.__version__

PS:2.5.1

1.4.2 GPU版本(不要按照这个来,后面会有安装成功的,这个当作介绍流程看)

新建一个YOLO-GPU-TensorFlow2的开发环境

conda create -n YOLO-GPU-TensorFlow2 python=3.9

conda activate YOLO-GPU-TensorFlow2

安装tensorflow-gpu

pip install tensorflow-gpu==2.5.1 -i https://mirrors.aliyun.com/pypi/simple/

常用命令

创建环境:conda create -n YOLO-GPU-TensorFlow2TEST python=3.7

激活环境:conda activate YOLO-GPU-TensorFlow2TEST

取消激活环境:conda deactivate

(1)安装CUDA和CUDNN

听网上说的,不要用国内源下载

安装CUDA

可以使用:conda search cudatoolkit 命令来查看可以用来安装的cuda版本有哪些

conda search cudatoolkit search

conda install  cudatoolkit=11.2

安装CUDNN

conda install cudnn==8.1 如果这两条成功,则GPU加速环境成功部署。

更新conda:conda update -n base conda

conda update --all

(2)安装pytorch

在线安装一般都会因为网络原因而安装失败,这里选择离线安装。资源地址:

Index of /anaconda/cloud/pytorch/win-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

这里你也不要急着去下载

conda install --offline C:\MyWorkSpace\env\pytorch-1.7.0-py3.7_cuda101_cudnn7_0.tar.bz2

conda install --offline C:\MyWorkSpace\env\torchvision-0.8.0-py37_cu101.tar.bz2

(3)验证环境是否安装成功

这里是验证CUDA安装是否成功

conda activate YOLO-GPU-TensorFlow2

进入Python环境:

python

导入tensorflow 库

import tensorflow as tf

查看版本:tf.__version__

PS:2.5.1

这里是验证pytorch安装是否成功

import torch

print(torch.cuda.is_available())

True就是成功了

注意事项

版本问题:

CUDA和CUDNN版本要对齐。

CUDA 和Tensenflow之间的版本关系:

在 Windows 环境中从源代码构建  |  TensorFlow

在1.4步骤安装TensorFlow环境时,注意Python的版本

如何查看自己CUDA版本:(这个命令我还觉得是看系统的CUDA版本,而不是你环境的版本)

nvcc -V

 nvidia-smi中的cuda是由NVIDIA GPU 驱动包安装的,而不是由CUDA toolkit安装的。所以运行时候以nvcc 为主:​​​​​​​​​​​​​​​​​​​​​cuda版本在nvcc -V和nvidia-smi中显示不同_小歘歘嘚啵嘚的博客-CSDN博客_nvidia-smi cuda version

截图一下版本关系

​​​​​​​写一组GPU的:

Tensenflow2.6.0 cuDNN  8.1     CUDA  11.2

Tensenflow2.5.0 cuDNN  8.1     CUDA  11.2

Tensenflow2.2.0 cuDNN  7.6     CUDA  10.0

官网也有对应版本,建议对着官网再仔细看一下

    1. 总结
  1. Anaconda
  2. Pycharm
  3. 创建虚拟环境并安装TensorFlow
  4. 安装CUDA和CUDNN
  5. 安装pytorch
  6. 验证环境

重点:

需要注意Tensorflow的版本和CUDA版本还有pytorch版本,Tensorflow版本确定了CUDA版本就确定下来了,pytorch版本也就确定下来了。这里需要注意一下三者的协调关系,对了还有Python版本。

安装的时候所有版本都定下来了在安装

1.9有版本关系

  • 运行demo

2.1 参考资料

参考链接:Yolov5(最新版) 环境配置及部署之环境配置(一) (详细教程)_excelNo1的博客-CSDN博客_yolov5环境配置

2.2 YOLO v5(这里也不要按照下面的介绍来做,后面有完整步骤)

2.2.1 源码下载

进入Github官网:https://github.com/ultralytics/yolov5/releases   选择版本为v5.0下拉滚动条,找到Source code(zip)。点击下载到本地。解压Yolov5-5.0文件到指定目录,解压后文件如图所示

创建并激活TensorFlow环境,自己选择是CPU还是GPU的,激活后再进入requirements.txt所在文件夹目录下,执行下述命令:

pip install -r requirements.txt

或者在Pycharm中安装

执行完成上述语句后,测试torch 、CUDA 是否正确安装:

import torch

print(torch.cuda.is_available())

False

CUDA 没有安装或其他原因

2.2.2 YOLO V5运行环境搭建

删除环境,重新安装cuda:Yolov550  是环境名称,自己定

deactivate Yolov550  

conda remove -n Yolov550  --all

重新创建环境并且指定python版本为3.7:

conda create -n Yolov550 python=3.7

conda activate Yolov550  

安装CUDA和CUDNN:

conda install cudatoolkit==10.2.89

conda install cudnn==7.6.5

安装torch 和 torchvision。进入官网找到和cuda对应的版本,获得安装命令:

conda install pytorch torchvision torchaudio cudatoolkit=10.2

测试CUDA 是否可用:输入python,进入python环境。print(torch.cuda.is_available())为True表示正确安装CUDA。

2.3 Pycharm环境配置

刚才创建的环境

刚才创建的环境

2.3 我的环境测试(参考:https://blog.csdn.net/qq_45104603/article/details/121783848)

conda create -n myYOLOv5WorkSpace   python=3.8 

conda activate myYOLOv5WorkSpace  

PS:

删除虚拟环境:  conda remove -n myYOLOv5WorkSpace   (虚拟环境名称) --all, 即可删除。

conda remove -n myYOLOv5WorkSpace --all

conda --version  查看Anaconda安装的版本

conda env list     查看已经安装的环境,右边 “*”表示当前使用的环境

当安装好了以后,执行conda env list这个命令,就可以看到比一开始多了一个pytorch这个环境。现在我们可以在这个环境里面安装深度学习框架和一些Python包了。

conda env list

安装pytorch-gup版的环境,由于pytorch的官网在国外,下载相关的环境包是比较慢的,所以我们给环境换源。在myYOLOv5WorkSpace   环境下执行如下的命名给环境换清华源。我换完了源,然后安装的是cpu版本,别换吧

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

conda config --set show_channel_urls yes

conda config --add channels https://repo.anaconda.com/pkgs/main/win-64

  conda config --add channels https://repo.anaconda.com/pkgs/main/noarch

  conda config --add channels https://repo.anaconda.com/pkgs/r/win-64

  conda config --add channels https://repo.anaconda.com/pkgs/r/noarch

  conda config --add channels https://repo.anaconda.com/pkgs/msys2/win-64

  conda config --add channels https://repo.anaconda.com/pkgs/msys2/noarch

显示目前的源conda config --show channels 

删除源conda config --remove channels

添加清华源conda config --add channels Index of /anaconda/cloud/pytorch/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

conda换回默认源:

conda config --remove-key channels

卸载旧的安装包:

conda uninstall 包名

原文链接:https://blog.csdn.net/weixin_40977054/article/details/115524523

然后打开pytorch的官网,由于开头我们通过驱动检测到我的显卡为 NVDIA SMI 526.86,最高支持cuda11.5版本,所以我们选择cuda11.3版本的cuda,然后将下面红色框框中的内容复制下来,一定不要把后面的-c pytorch -c conda-forge也复制下来,因为这样运行就是还是在国外源下载,这样就会很慢。

如何看最高支持版本:nvidia-smi

安装tensorflow 2.2.0对应cuda和cudnn版本为:10.1   7.6 Python最高3.8

下载tensorflow-gpu==2.2.0

pip install tensorflow-gpu==2.2.0 -i Simple Index

下载pytorch==1.11.0

conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=10.2

Conda list pytorch

下载CUDA

conda install cudatoolkit==10.2

下载cuDNN

conda install cudnn==7.6

conda search cudatoolkit

conda search cudnn

# 查看可以用来安装的cudatoolkit的所有版本都有哪些

conda search cudatoolkit --info

# 查看所有列出来的cudatoolkit的详细信息,包括版本号version,文件网址url,依赖项dependencies

# 文件网址url:

# 直接conda install cudatoolkit,通常下载安装包的速度很慢,因而可以用上面给出的文件网址url来用下载工具去下载这个包,再去本地安装

# 依赖项dependencies:

# 想要使用cudatoolkit,还需要安装什么才可以使用。

测试是否安装成功:

python

import torch

print(torch.cuda.is_available())

print(torch.backends.cudnn.is_available())

print(torch.cuda_version)

print(torch.backends.cudnn.version())

重新来,从创建虚拟环境开始:

conda create -n YOLO_GPU_Test python=3.7

conda activate YOLO_GPU_Test

pip install tensorflow-gpu==2.3.0 -i https://mirrors.aliyun.com/pypi/simple/

验证是否环境安装成功:

python

import tensorflow as tf

tf.__version__

如下图,原因是还没安装cuda和cudnn

安装CUDA

conda install cudatoolkit==10.1.168

安装CUDNN

conda install cudnn==7.6.5

验证  正确

安装pytorch

conda install --offline C:\MyWorkSpace\env\pytorch-1.7.0-py3.7_cuda101_cudnn7_0.tar.bz2

  • 完整YOLOv5运行环境搭建及使用demo步骤

3.1 anaconda和pycharm安装不讲

3.2 各版本确定

Python =3.7 tensorflow =2.3.0

Cuda =10.1.168

Cundd =7.6.5

Pytorch = 1.7.0

Torchvision = 0.8.0

3.3 安装TensorFlow

conda create -n YOLO_GPU_Test python=3.7

conda activate YOLO_GPU_Test

pip install tensorflow-gpu==2.3.0 -i https://mirrors.aliyun.com/pypi/simple/

3.4 安装CUDA和CUDNN

安装CUDA

conda install cudatoolkit==10.1.168

安装CUDNN

conda install cudnn==7.6.5

验证

python

import tensorflow as tf

tf.__version__

3.5 安装pytorch

不要在pycharm下载opencv-python  在cmd命令窗口下载

 requirements:  opencv-python>=4.1.2 not found and is required by YOLOv5

pip install opencv-python

另外一种pip安装教程

yolov5 下torchvision版本问题 #VersionConflict: (torchvision Requirement.parse(‘torchvision>=0.8.1‘))_神经森森是我鸭的博客-CSDN博客

pip install C:\MyWorkSpace\env\torch-1.7.0+cu101-cp37-cp37m-win_amd64.whl --user

pip install C:\MyWorkSpace\env\torchvision-0.8.1+cu101-cp37-cp37m-win_amd64.whl --user

才发现pip资源下载地址有的没有,那就用这个:

https://download.pytorch.org/whl/torch_stable.html

使用迅雷下载的更快

(1)下载资源

Index of /anaconda/cloud/pytorch/win-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

  1. 安装

不需要解压缩,直接在创建的环境下执行(执行完成这两个压缩文件会自动删除):

conda install --offline C:\MyWorkSpace\env\pytorch-1.7.0-py3.7_cuda101_cudnn7_0.tar.bz2

conda install --offline C:\MyWorkSpace\env\torchvision-0.8.1-py37_cu101.tar.bz2

  1. 执行conda install intel-openmp
  2. 验证   成功

import torch
print(torch.__version__)
print(torch.cuda.is_available())

print(torch.backends.cudnn.is_available())
print(torch.cuda_version)
print(torch.backends.cudnn.version())

3.6 下载yolov5

进入Github官网:https://github.com/ultralytics/yolov5/releases   选择版本为v5.0下拉滚动条,找到Source code(zip)。点击下载到本地。解压Yolov5-5.0文件

3.7 创建并激活TensorFlow环境

自己选择是CPU还是GPU的,激活后再进入requirements.txt所在文件夹目录下,执行下述命令:

pip install -r requirements.txt  

或者在Pycharm中安装(我直接在Pycharm中安装)

执行完成上述语句后,测试torch 、CUDA 是否正确安装:

import torch

print(torch.cuda.is_available())

注意:3.7我没使用,我在pycharm里,哪个包没有安装哪个的,我发现用requirements.txt 会把你之前配置的环境改了

3.8 打开工程

3.9 准备设置环境

3.10 选择我们刚刚创建的虚拟环境里面的python

3.11 安装requirements.txt下的依赖

3.12 验证  pytorch和CUDA已经成功安装

3.13 运行指令

//从图片检测 

python detect.py --source ./data/images/ --weights ./weights/yolov5s.pt --conf 0.4

//从摄像头检测   担心是CPU运行的话,加上参数  --device 0

python detect.py --source 0 --weights ./weights/yolov5s.pt --conf 0.4

//加载自己训练模型检测 

python detect.py --source 0 --weights ./模型地址 --conf 阈值

这里只是CPU运行的

代码错误:

YOLOV5 训练好模型测试时出现问题:AttributeError: ‘Upsample‘ object has no attribute ’recompute_scale_factor’ 的解决方法:

YOLOV5 训练好模型测试时出现问题:AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘的解决方法_佐咖的博客-CSDN博客

不要在pycharm下载opencv-python  在cmd命令窗口下载

 requirements:  opencv-python>=4.1.2 not found and is required by YOLOv5

pip install opencv-python

另外一种pip安装教程

yolov5 下torchvision版本问题 #VersionConflict: (torchvision Requirement.parse(‘torchvision>=0.8.1‘))_神经森森是我鸭的博客-CSDN博客

pip install C:\MyWorkSpace\env\torch-1.7.0+cu101-cp37-cp37m-win_amd64.whl --user

pip install C:\MyWorkSpace\env\torchvision-0.8.1+cu101-cp37-cp37m-win_amd64.whl --user

  • Anaconda常用命令

conda  uninstall 包名

conda  install 包名==版本号

conda search cudatoolkit search

  • 其他资源
  1. YOLOV5 pt文件

链接:https://pan.baidu.com/s/1d0xp8ejYO-suovgN1A-Gvg
提取码:xfza

2.离线安装pytorch  压缩包那种方式

Index of /anaconda/cloud/pytorch/win-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

3.离线安装pytorch  pip安装教程

https://download.pytorch.org/whl/cu101/

安装教程: yolov5 下torchvision版本问题 #VersionConflict: (torchvision Requirement.parse(‘torchvision>=0.8.1‘))_神经森森是我鸭的博客-CSDN博客

  • YOLOv7

6.1 下载源码

6.2确定版本

可以从requirements.txt看到:

torch>=1.7.0,!=1.12.0

torchvision>=0.8.1,!=0.13.0

tensorflow>=2.4.1

故而我选择的版本是:

Python =3.8 tensorflow =2.4.2

Cuda =11.0.221

Cundd =8.2.1

Pytorch = 1.7.0

Torchvision = 0.8.1

conda search cudatoolkit search

6.3 安装tensorflow 、CUDA、CUDNN

conda create -n YOLOv7_GPU_Env python=3.8

conda activate YOLOv7_GPU_Env 

pip install tensorflow-gpu==2.4.2 -i Simple Index

安装CUDA和CUDNN之前使用:conda search cudatoolkit --info和

conda search cudnn --info一个确定了221,一个确定了8.2.1

查看可以安装哪些版本

安装CUDA

conda install cudatoolkit==11.0.221

安装CUDNN

conda install cudnn==8.2.1

不自信可以用conda list验证一下

6.4 安装pytorch

下载地址:

https://download.pytorch.org/whl/

还有一个下载地址:

https://download.pytorch.org/whl/

使用迅雷下载的更快

下载完成后直接安装,注意不能用上面哪个,因为哪个是python37,两个都要重新下载

pip install C:\MyWorkSpace\env\torch-1.7.0+cu110-cp38-cp38-win_amd64.whl --user

pip install C:\MyWorkSpace\env\torchvision-0.8.1+cu101-cp38-cp38-win_amd64.whl --user

注意看第二个搞错了,写出cu101了,怎么办?卸载:进入环境,pip uninstall torchvision,再重新下载对应版本的

pip install C:\MyWorkSpace\env\torchvision-0.8.1+cu110-cp38-cp38-win_amd64.whl

>>> import torch

>>> print(torch.cuda.is_available())

True

cp后面的是python版本

6.5 安装一些其他包

pip install opencv-python

如下这些包,在加号哪里安装

6.6 YOLOv7

参考链接:

YOLOv7(目标检测)入门教程详解---检测,推理,训练_螺丝工人的博客-CSDN博客

和v5一样

下载代码:https://github.com/WongKinYiu/yolov7

下载权重:

链接:https://pan.baidu.com/s/1zB1U3bLf8fjaLGVXKKEonw

提取码:5sd6

运行:

直接点绿色按钮运行,想改参数在代码里改。如果直接用命令行运行,可能会有torch版本不一致的问题,我说的是加上 --device 0参数之后的。忘记说了,我代码里做了改动:

  1. detect.py文件下做了如下改动:

  1. 在/utils/wandb_logging文件夹下的torch_utils.py文件做了如下改动:

(主要是来判断GPU开始运行没)

python detect.py --weights weights/yolov7.pt --source inference/images --device 0

可以看到输入命令行GPU根本没跑起来,而直接绿色按钮GPU正常,原因是命令行和你的绿色按钮运行环境是不一样的。如何解决?很简单了:改下红框位置

6.7一些问题

YOLOV7   TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。


转载:https://blog.csdn.net/qq_42475191/article/details/128112747
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场