【发布时间】:2021-09-10 11:46:25
【问题描述】:
我已阅读 Coreml 指南,该指南展示了如何使用 coremltools 将 pb 模型转换为 mlmodel。但是,在尝试遵循指南时出现以下错误。这意味着输入形状必须是特定的。
ValueError: "ResizeBilinear" op: 第二个输入,即输出大小,必须是静态已知的
那么,有谁知道如何转换灵活的输入形状mlmodel?
这是我的代码:
import coremltools as ct
def mlmodel_image(pb):
input_shape = ct.Shape(shape=(1, ct.RangeDim(1, 720), ct.RangeDim(1, 1280), 3))
model_input = ct.ImageType(shape=input_shape)
mlmodel = ct.convert(pb, inputs=[model_input], source='TensorFlow')
mlmodel.save(pb.replace(".pb", "_img.mlmodel"))
print('------save to ', pb.replace(".pb", "_img.mlmodel"))
【问题讨论】:
-
如果
.pb文件中的模型具有指定的输入大小并且只能使用它,则没有选项可以将其转换为具有可变输入大小的模型而不在模型内部进行重大更改。 -
感谢您的建议,但我的 .pb 模型具有灵活的输入尺寸,任何 4D 形状都可以
标签: python tensorflow coremltools