此方法基本弃用吧——首先yolov3本身就不好配环境,识别效果其实也是一般般的。
我直接重写一份yolov5的,非常的简单,并且好用。
(这里面的配置方法对Ubuntu也同样适用)
- 开发环境:windows
- 编程语言python3.9
- 深度学习框架TensorFlow
- 整合开发环境anaconda
- 代码IDE:pycharm
这里直接考虑用gpu加速的图像处理
安装python3.9
python官网
安装opencv
opencv官网
安装anaconda
anaconda和pycharm安装
安装方法不做过多说明。
搭建TensorFlow开发环境:
进入anaconda prompt
新建一个YOLO-GPU-TensorFlow2的开发环境
conda create -n YOLO-GPU-TensorFlow2 python=3.9
注意这里是错误之源,太高的python版本会导致
直接y进入安装
接着进入空间中
conda activate YOLO-GPU-TensorFlow2
直接pip下载:
pip install tensorflow-gpu==2.5.1 -i https://mirrors.aliyun.com/pypi/simple/
这里建议用清华源比较快
pip install tensorflow-gpu==2.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
这里是可以选版本的,因为是镜像,速度也是比较慢的。
并且我没有一次装好。多输入几次相同的命令,确保没有任何报错。
验证是否环境安装成功:(非必要)
python
import tensorflow as tf
tf.__version__
安装cuda
conda install cudatoolkit=11.3.1
注意:这里可以直接用11,然后他会自己安装最新版。必须要出现y选项才算安装。遇到错误重新安装即可
安装cudnn
conda install cudnn==8.*
遇到错误重新安装即可
(注意,对于Ubuntu而言这里不管你之前有没有下载过cuda,cudnn,这里都建议再安装一次)
测试cuda加速(必要)在TensorFlow的环境下:
python
import tensorflow as tf
tf.__version__
只有success才行。
下载yolov3的开源代码和权重文件(打包)
百度网盘
链接: https://pan.baidu.com/s/1w4ZrawH2acAB344H2EncJQ 提取码: mr6c
–来自百度网盘超级会员v1的分享
配置pycharm环境
选择解释器:刚才创建的yolo-gpu-tensorflow
这部分在打包文件中已经生成了。
下载权重文件(权重文件的意义自己去了解)
将权重文件放到./data中。
pycharm中调出终端convert权重文件,输出到checkpoint
python convert.py --weights ./data/yolov3.weights --output ./checkpoints/yolov3.tf
(如果用tiny的权重:python convert.py --weights ./data/yolov3-tiny.weights --output ./checkpoints/yolov3-tiny.tf --tiny
)这里面的output必须要加一个–tiny才能生成tf
可以看到checkpoint中多了这几个文件:
接下来是用detect.py进行识别:
python detect.py --image ./data/street.jpg
当然也可以指定output
python detect.py --image ./data/street.jpg --output ./data/test1.jpg
上述的命令完全不需要死记硬背。python 函数 --weights 位置 --image 位置 --output 位置
除了调用图片之外,还可以调用其它的:
yolov3 检测图片的对象(默认权重就是yolov3.weights)
python detect.py --image ./data/cat.jpg
yolov3-tiny
python detect.py --weights ./checkpoints/yolov3-tiny.tf --tiny --image ./data/street.jpg
webcam 摄像头实时检测对象(默认权重就是yolov3.weights)
python detect_video.py --video 0
(当然也是可以指定weights的)
video file 检测视频文件的对象
python detect_video.py --video path_to_file.mp4 --weights ./checkpoints/yolov3-tiny.tf --tiny --output 位置
基本的命令也就这些了。
后面会对原理,代码做进一步的分析。同时也包含自己打标签等
经过·一段时间的学习我发现这里最难得就是配置合适的环境,很多时候都是因为环境不对我才出现各种问题。
后面又重新安装了一个cuda,11.7版本,cudnn8.4
当然最关键的就是cuda安装后
python
import tensorflow as tf
我最喜欢看到了:successful
但是,到后面的依赖依然有问题,迄今为止,我的环境只要一个是完全没问题。但是还没有试过自己的数据集进行训练的。所以有些焦躁。