【发布时间】:2021-08-23 03:16:41
【问题描述】:
当我试图将我的 yolov4-tiny 自定义权重转换为 tftile 时,它总是会发生。
这是我输入的:
python save_model.py --weights ./data/yolov4-tiny-obj-food_final.weights --output ./checkpoints/yolov4-tiny-416-tflite --input_size 416 --model yolov4 --framework tflite
然后出现错误信息。
conv_weights = conv_weights.reshape(conv_shape).transpose([2, 3, 1, 0])
ValueError: cannot reshape array of size 374698 into shape (256,256,3,3)
我检查了我的 labels.txt,没有空格或更多行。另外,我在 config.py 中更改了名称。
有没有办法解决这个问题?
感谢您的帮助!
附上我的部分代码,希望对你有帮助。
这里是github:https://github.com/piggychu0w0/food-image-detection
.cfg:
[convolutional]
size=1
stride=1
pad=1
filters=21
activation=linear
[yolo]
mask = 3,4,5
anchors = 10,14, 23,27, 37,58, 81,82, 135,169, 344,319
classes=2
num=6
jitter=.3
scale_x_y = 1.05
cls_normalizer=1.0
iou_normalizer=0.07
iou_loss=ciou
ignore_thresh = .7
truth_thresh = 1
random=0
resize=1.5
nms_kind=greedynms
beta_nms=0.6
.名称:
rice
toast
【问题讨论】:
-
374698 是 2×187349 而 187349 是质数。你是如何制作出这种形状的数组的?
-
说实话,我不确定我是怎么做到的。我参考这篇论文来完成权重文件。 blog.csdn.net/qq_44166805/article/details/105876028@NatthaphonHongcharoen
-
唯一不同的是我直接在labelimg中转成yolo格式。
-
问题在于,因为它不能被除 2 以外的任何东西整除,所以除了 (2, 187349) 或 (1, 374698) 之类的东西之外,你不能将它重塑为任何东西
-
顺便说一句,包括代码而不仅仅是配置,因为它是导致错误的
save_model.py,与 .cfg 或 .names 无关
标签: python tensorflow-lite yolov4