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

How to convert YOLOv4-CSP darknet weight to Tensorflow format?

如何将 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:\swap210319\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,3)

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

,它仍然是一个功能请求

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

我制作了一个 Google Colab notebook 进行转换,可以找到 here