将Yolov4 Tiny转换为tflite.错误:无法将大小为372388的数组整形为形状(256256,3,3)



我正在使用来自https://github.com/haroonshakeel/tensorflow-yolov4-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)

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

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

  1. 在我的案例中,我在第14行更改了core/config.py文件,其中包含以下代码:

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

将coco.name替换为custom.name,就像一样

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

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

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

pip3 install --upgrade pip

pip3 install tensorflow-cpu==2.3.0rc2

这为我解决了问题。

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

最新更新