【问题标题】:Error when converting caffe model (VGG_Face2) to coreml将 caffe 模型 (VGG_Face2) 转换为 coreml 时出错
【发布时间】:2018-07-05 08:17:40
【问题描述】:

我正在尝试将此模型: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')。 我还尝试添加类标签(他们有一个包含四列的 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 } } } 但我对此不太了解。 我在使用这些模型方面不是很有经验,感谢任何帮助。

【问题讨论】:

    标签: python swift caffe coreml coremltools


    【解决方案1】:

    MLModel spec 中的 ReshapeLayerParams 表示形状必须有 3 或 4 个维度。您的 prototxt 仅提供 2 个维度(在 reshape_param 内)。这就是导致此错误的原因。

    【讨论】:

    • 我设法将其转换为 mlmodel,具有正确的输入和输出,但在运行时仍无法正常工作。我的请求 VNRequests 失败。我用其他模型尝试了我的代码,它们运行良好。有没有机会帮我把它转换成 mlmodel?
    猜你喜欢
    • 2017-11-23
    • 2019-07-22
    • 1970-01-01
    • 2018-06-14
    • 2020-07-10
    • 2017-12-09
    • 2017-12-10
    • 2021-03-28
    • 2020-08-25
    相关资源
    最近更新 更多