我正在尝试将此模型转换为http://www.robots.ox.ac.uk/~vgg/data/vgg_face2/从caffe到coreml但我收到此错误: 运行时错误:在caffe转换过程中,“reshape”类型的'conv2_1_prob_reshape'层中的参数'shape size'不支持选项'2'。
我使用了coreml_model = coremltools.converters.caffe.convert(('senet50_ft.caffemodel', 'senet50_ft.prototxt')
。
我还尝试添加类标签(他们有一个包含四列的csv文件:ClassID,Name,Sample_Num,Flag。我删除了最后两列,因为在其他教程中他们只使用前两列。我尝试了所有列,仅前两个以及原始的csv文件,而不将其转换为txt)。以上所有都返回了相同的错误。我不确定这个错误是什么意思(我查看了senet50_ft.prototxt,其中包含所有图层以尝试找到错误,它看起来像这样:
layer {
name: "conv2_1_prob_reshape"
type: "Reshape"
bottom: "conv2_1_1x1_up"
top: "conv2_1_prob_reshape"
reshape_param {
shape {
dim: 0
dim: 0
}
}
}
但我对此并不十分了解。
我在使用这些模型方面不是很有经验,感谢任何帮助。
答案 0 :(得分:1)
MLModel spec中的TaskAdapter
表示形状必须包含3或4个维度。您的原型文档仅提供2个维度(在void clear() {
mTaskList.clear();
}
void addAll(List<Task> taskList) {
mTaskList.addAll(taskList);
}
内)。这就是给出这个错误的原因。