将 caffe 模型 (VGG_Face2) 转换为 coreml 时出错
Error when converting caffe model (VGG_Face2) to coreml
我正在尝试将此模型:http://www.robots.ox.ac.uk/~vgg/data/vgg_face2/ 从 caffe 转换为 coreml,但出现此错误:
RuntimeError:caffe 转换期间类型 'Reshape' 的层 'conv2_1_prob_reshape' 中的参数 'shape size' 不支持选项“2”。
我用了coreml_model = coremltools.converters.caffe.convert(('senet50_ft.caffemodel', 'senet50_ft.prototxt')
。
我还尝试添加 class 标签(他们有一个包含四列的 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
}
}
}
但我不太了解这一点。
我在使用这些模型方面不是很有经验,如有任何帮助,我们将不胜感激。
MLModel spec 中的 ReshapeLayerParams
说形状必须有 3 或 4 个维度。您的 prototxt 仅提供 2 个维度(在 reshape_param
内)。这就是导致此错误的原因。
我正在尝试将此模型:http://www.robots.ox.ac.uk/~vgg/data/vgg_face2/ 从 caffe 转换为 coreml,但出现此错误: RuntimeError:caffe 转换期间类型 'Reshape' 的层 'conv2_1_prob_reshape' 中的参数 'shape size' 不支持选项“2”。
我用了coreml_model = coremltools.converters.caffe.convert(('senet50_ft.caffemodel', 'senet50_ft.prototxt')
。
我还尝试添加 class 标签(他们有一个包含四列的 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
}
}
}
但我不太了解这一点。
我在使用这些模型方面不是很有经验,如有任何帮助,我们将不胜感激。
MLModel spec 中的 ReshapeLayerParams
说形状必须有 3 或 4 个维度。您的 prototxt 仅提供 2 个维度(在 reshape_param
内)。这就是导致此错误的原因。