本来是用doc写的,直接复制到这里很多图片加载缓慢,我直接把doc上传到资源里面了,0积分下载:
一、环境搭建
1.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 为主
截图一下版本关系
写一组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
官网也有对应版本,建议对着官网再仔细看一下
- 总结
- Anaconda
- Pycharm
- 创建虚拟环境并安装TensorFlow
- 安装CUDA和CUDNN
- 安装pytorch
- 验证环境
重点:
需要注意Tensorflow的版本和CUDA版本还有pytorch版本,Tensorflow版本确定了CUDA版本就确定下来了,pytorch版本也就确定下来了。这里需要注意一下三者的协调关系,对了还有Python版本。
安装的时候所有版本都定下来了在安装
1.9有版本关系
- 运行demo
2.1 参考资料
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 我的环境测试(参考:)
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 包名
原文链接:
然后打开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
requirements: opencv-python>=4.1.2 not found and is required by YOLOv5
pip install opencv-python
另外一种pip安装教程
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
- 安装
不需要解压缩,直接在创建的环境下执行(执行完成这两个压缩文件会自动删除):
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
- 执行conda install intel-openmp
- 验证 成功
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’ 的解决方法:
不要在pycharm下载opencv-python
requirements: opencv-python>=4.1.2 not found and is required by YOLOv5
pip install opencv-python
另外一种pip安装教程
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
- 其他资源
- 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/
- 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
参考链接:
和v5一样
下载代码:https://github.com/WongKinYiu/yolov7
下载权重:
链接:https://pan.baidu.com/s/1zB1U3bLf8fjaLGVXKKEonw
提取码:5sd6
运行:
直接点绿色按钮运行,想改参数在代码里改。如果直接用命令行运行,可能会有torch版本不一致的问题,我说的是加上 --device 0参数之后的。忘记说了,我代码里做了改动:
- detect.py文件下做了如下改动:
- 在/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] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。