ValueError: bad marshal data (unknown type code)

问题描述:ValueError: bad marshal data (unknown type code)

前提背景说明:

在完成吴恩达coursera上面深度学习第四门课卷积神经网络(Convolutional Neural Networks的第三周目标检测(Object detection)的编程作业使用YOLO算法完成车辆检测时,由于TensorFlow版本不兼容的关系,作业上使用的是TensorFlow1.x,而我现在学的是TensorFlow2.x,所以在加载作业中给出的预训练的YOLO模型时出错

问题解决:重新生成h5文件

1、文件准备

  • 准备yad2k文件夹、yad2k.py

    获取地址:allanzelener/YAD2K: YAD2K: Yet Another Darknet 2 Keras (github.com)

    下载下来将得到YAD2K-master,将其中的yad2k文件夹、yad2k.py移入一个新的文件夹中(这里我放到桌面上创建的YOLO中文件夹中)

  • 预训练权重yolov2.weights和配置文件yolov2.cfg

    这里我直接复制了课程文件夹中的

    在YOLO文件夹中新增一个model_data文件夹,等会用来存放生成的yolo.h5

  • 将keras_yolo.py中的,tf1的函数改为tf2的函数:

        将import tensorflow as tf
        改为
        import tensorflow.compat.v1 as tf
        tf.disable_v2_behavior()
    

2、生成文件

在YOLO目录下

python yad2k.py yolov2.cfg yolov2.weights model_data/yolov2.h5

参考资料:(47条消息) tf2.1下生成yolo.h5文件_学吧学吧终成学霸的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值