yolov3复现—tensorflow-pycharm-cpu新手实现及问题解决

  • Post author:
  • Post category:其他



原文链接:

https://blog.csdn.net/qq_45504119/article/details/105033492

yolov3训练自己的模型链接:

https://blog.csdn.net/qq_45504119/article/details/105052478

本身环境:python3.7+tensorflow2.1+window10+CPU

在cmd命令可进行tensorfloe安装卸载或直接升级如:

pip uninstall tensorflow # 卸载tf

pip uninstall keras # 卸载keras

pip install tensorflow

1.2.0

pip install keras

2.0.9

pip install –upgrade keras

本文解决了各种报错问题:大部分原因为tf版本兼容问题

参考:https://blog.csdn.net/weixin_41010198/article/details/107659012?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161823475116780274198212%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161823475116780274198212&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2

all

first_rank_v2~rank_v29-1-107659012.first_rank_v2_pc_rank_v29&utm_term=module+%27tensorflow.keras.backend%27+has+no+attribute+%27get_session%27

如报错:AttributeError: module ‘tensorflow.keras.backend’ has no attribute ‘get_session’
在这里插入图片描述

将sess = tf.keras.backend.get_session()

改为如下即可:

sess = tf.compat.v1.keras.backend.get_session()

2、需要的文件:

1、yolov3源代码:github_keras-yolo3

2、权重文件:官网_yolov3.weights (点击直接下载)或者 我的百度网盘文件 链接:

https://pan.baidu.com/s/1YD5dtSrEkcBO0PRHO7eLlw

提取码:1uub

3、python 或 anaconda 或 pycharm

注意:版本需要在3.7以下,3.7版本不支持 tensflow 的库

3、python的环境配置:

很多的库之间都会存在兼容性问题,如果你运行中出现的报错不常见,或者一个错误接着一个错误,那么八成是配置的库存在兼容性问题,把库的版本换了就行

在这里插入图片描述

建议使用镜像源下载,下载的方法可以参照我的这篇博文: anaconda 配置 yolov3 环境(该文章中的版本也可以,但是最好换成我上面表格中写的) 大家也可以看下我的 python 的各个库的配置:python绝对兼容的库配置——机器学习 (建议大家保留一份,万一哪天不小心改了一个库的版本,很可能就会导致一系列的问题,这里的版本不存在兼容性问题)

二、正式开始yolo之旅

1、用官方权重识别图像

接下来先教大家去用官方的权重文件 yolov3.weights 去识别图像

先用 pycharm 或 spyder 打开 keras-yolo3 文件夹,用 pycharm 或 spyder 是为了看文件夹更方便,直接在 anaconda 里运行也是可以的

这里用 pycharm 先演示一下:

在这里插入图片描述

打开文件后是这样的。

1、我们将下载的 yolov3.weights 文件放在 keras-yolo3-master 文件夹下:

在这里插入图片描述

2、把 yolov3.weights 文件转换成 keras 适用的 h5 文件

首先点击左下方的 Terminal (和IDLE一个功能,就是命令行)

输入 python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5

在这里插入图片描述

在这里插入图片描述

等待一会。。。直到命令行显示 Saved Keras model to model_data/yolo.h5 就可以看到文件夹的 model_data 中多了个 yolo.h5 文件

在这里插入图片描述

3、在文件夹下添加一个启动 yolo 函数的代码

在文件夹下新建一个py文件,我取名为 yolostart.py ,代码如下:

from yolo3.model import yolo_body

from keras.layers import Input

from yolo import YOLO

from PIL import Image

yolo = YOLO()

while True:

img = input(‘Input imagename:’)

try:

image = Image.open(img)

except:

print(‘Open Error!’)

continue

else:

rel_image = yolo.detect_image(image)

rel_image.show()

yolo.close_session()

在这里插入图片描述

4、在文件夹下新建名为 img 的文件夹,里面放想要进行识别的图片

在这里插入图片描述

5、运行 yolostart.py 运行 yolostart.py 文件 提示:Input imagename:

在这里插入图片描述

现在输入想要识别的图片的文件路径,这里我输入 img/q.jpg(识别 img 文件夹下名为 q 的 jpg 格式的图片)

在这里插入图片描述

在这里插入图片描述

成功识别出图上人物

现在运行人数较多的图片试一下:

在这里插入图片描述

在这里插入图片描述

2、训练自己的数据集模型

time:3/22

这篇先发,我学校的作业还没写,

我先把作业写了,再回来补下面的东西

。。。

见谅

Time:2020/3/23/22:19

我回来啦:

介于训练自己的数据集模型比这篇文章的两倍还要长,我就将它化为一篇文章来写了,很详细,均是我刚刚亲自一步步操作的,有任何问题均可以提出

文章链接:keras-yolov3目标检测训练自己的模型详解https://blog.csdn.net/qq_45504119/article/details/105052478

————————————————

版权声明:本文为CSDN博主「霍格沃茨电气魔法师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_45504119/article/details/105033492



版权声明:本文为weixin_45086338原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。