深度学习课后编程车辆检测的yolo.h5模型倒入问题

解决方法一

在学习吴恩达老师的深度学习-车辆检测的课程中遇到了yolo.h5 load失败的问题,通过命令:
conda update-c conda-forge tensorflow
将tensorflow更新到1.5之后就可以了,注意如果建立了tensorflow envs,那么base和tensorflow envs下面的tensorflow都要更新,也就是:
打开Anaconda prompt是在base的环境下,输入更新命令
conda update-c conda-forge tensorflow
然后:
conda activate tensorflow
conda update-c conda-forge tensorflow
deactivate

解决方法二

如果还不可以的话,可以尝试自己动手下载训练好的参数建立模型,以下是具体做法:

环境: win10-64bit anaconda3

打开Anaconda prompt
download yad2k.git by command:

git clone https://github.com/allanzelener/yad2k.git
深度学习课后编程车辆检测的yolo.h5模型倒入问题

prepare the environment:

pip install numpy h5py pillow
pip install tensorflow-gpu # CPU-only: conda install -c conda-forge tensorflow
pip install keras # Possibly older release: conda install keras

Download Darknet model cfg and weights from the official YOLO website:
  1. 下载cfg文件
    下载darknet代码获得cfg文件 by command:
    git clone https://github.com/pjreddie/darknet
    然后copy darknet/cfg/yolov2.cfg到目录yad2k下

  2. 下载weights文件
    https://pjreddie.com/darknet/yolov2/
    深度学习课后编程车辆检测的yolo.h5模型倒入问题
    打开链接,找到图示位置,点击”here”下载文件,下载完毕之后将weight文件拷贝到目录yad2k下

说明:其实已经有version3了,https://pjreddie.com/darknet/yolo/,但是v3转换有问题,所以这里用了v2

change directory to yad2k by command:

cd yad2k

将Darknet YOLO_v2模型转换为Keras模型h5

python ./yad2k.py yolov2.cfg yolov2.weights model_data/yolo.h5
深度学习课后编程车辆检测的yolo.h5模型倒入问题
深度学习课后编程车辆检测的yolo.h5模型倒入问题

用images/中的小小测试集测试一下转换之后的模型

python ./test_yolo.py model_data/yolo.h5 # output in images/out/

参考:
https://github.com/allanzelener/YAD2K