如何将 YOLOv4-CSP 暗网权重转换为 Tensorflow 格式?

问题描述

如何将 YOlov4-CSP 暗网权重转换为 Tensorflow (tf) 格式?

我曾尝试使用此 repo,但没有奏效。

我收到此错误消息:

Traceback (most recent call last):
  File "save_model.py",line 58,in <module>
    app.run(main)
  File "C:\python37\lib\site-packages\absl\app.py",line 303,in run
    _run_main(main,args)
  File "C:\python37\lib\site-packages\absl\app.py",line 251,in _run_main
    sys.exit(main(argv))
  File "save_model.py",line 54,in main
    save_tf()
  File "save_model.py",line 49,in save_tf
    utils.load_weights(model,FLAGS.weights,FLAGS.model,FLAGS.tiny)
  File "D:\swap\20210319\tensorflow-yolov4-tflite\core\utils.py",line 63,in load_weights
    conv_weights = conv_weights.reshape(conv_shape).transpose([2,3,1,0])
ValueError: cannot reshape array of size 3791890 into shape (1024,512,3)

解决方法

您使用的存储库尚不支持 Scaled YoloV4 或 Yolov4-csp 的转换。根据 this 问题

,它仍然是一个功能请求

幸运的是有一个解决方法。我发现 this 存储库做同样的事情,唯一的区别是它在转换为 tensorflow 格式之前将模型转换为 .h5(keras 格式)。这也支持 yolov4-csp

我制作了一个用于转换的 Google Colab 笔记本,可以在 here 中找到。