2

我正在使用来自https://github.com/haroonshakeel/tensorflow-yolov4-tflite的开源将我的自定义权重文件转换为 tflite 。

当我将 Yolov4.weights 转换为 tflite 时没有错误,但是当我切换到 Yolov4-tiny.weights 时出现这样的错误

 conv_weights = conv_weights.reshape(conv_shape).transpose([2, 3, 1, 0])

ValueError: cannot reshape array of size 372388 into shape (256,256,3,3)

有谁知道如何解决这个问题?谢谢

4

1 回答 1

0

我通过 2 处更改解决了它;替换类名并安装特定版本的 tensorflow-cpu (2.3.0)

  1. 就我而言,我core/config.py在第 14 行更改了包含代码的文件:

__C.YOLO.CLASSES = "./data/classes/coco.names"

将 coco.names 替换为 custom.names,就像这样

__C.YOLO.CLASSES = "./data/classes/custom.names"

然后我在包含我的新自定义类的名称而不是默认的 COCO 类的目录中custom.names创建了这个新文件。./data/classes

  1. 我更新了我的 pip3 版本,然后为 cpu 安装了 tensorflow 版本 2.3.0rc2:

pip3 install --upgrade pip

pip3 install tensorflow-cpu==2.3.0rc2

这为我解决了这个问题。

PS:我使用 gpu (T4) 在 colab 上构建了我的模型,但我在没有 gpu 的本地机器上测试/使用了该模型。

于 2021-05-30T04:45:49.690 回答