我已经用Darknet训练了YOLOv3网络,以识别图像中的某些obj。一切都OK。 我想在iOS应用中使用权重文件,因此按照一些教程,我从darknet权重文件ancd中获得了keras h5模型,我检查了h5模型也可以正常工作。好。 最后一步,我使用coremltools尝试在xcode下可用的coreml模型中转换h5模型。 这是我的问题。。。这个小py脚本执行了最后一次转换:
4
运行脚本时,我总是会遇到此错误:
import coremltools
....
coreml_model = coremltools.converters.keras.convert('yolorcgz.h5', input_names='image', class_labels=output_labels, image_input_names='image', input_name_shape_dict={'image': [1, 416, 416, 3]})
coreml_model.input_description['image'] = 'Takes a photo'
coreml_model.output_description['output'] = 'Prediction of obj in the photo'
coreml_model.author = 'SW Team'
coreml_model.license = 'Public Domain'
coreml_model.short_description = "YOLOv3 network trained for obj recognition"
coreml_model.save('yolorcgz.mlmodel')
有什么想法可能会出错吗? 非常感谢
答案 0 :(得分:1)
我遇到了同样的问题。我将input_name_shape_dict={'image': [1, 416, 416, 3]}
更改为input_name_shape_dict={'image': [None, 416, 416, 3]}
。
我正在使用Keras 2.3.1和Tensorflow 1.14.0,这对我有用。