首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:“InputLayer”对象不能使用CoreMLTools进行迭代

TypeError:“InputLayer”对象不能使用CoreMLTools进行迭代
EN

Stack Overflow用户
提问于 2020-07-04 00:28:46
回答 2查看 858关注 0票数 0

我正在尝试将VGG模型转换为coremltools。当我运行以下代码来转换模型时:

代码语言:javascript
复制
with CustomObjectScope({'relu6': keras.layers.ReLU,'DepthwiseConv2D': keras.layers.DepthwiseConv2D}):
    from keras.models import load_model
    import coremltools


model_directory = 'KerasModels/VGG-7-3-20_13categories.h5'

keras_model = load_model(model_directory)
input_layer = InputLayer(input_shape=(224, 224, 3), name="input_1")

# Save and convert :
keras_model.layers[0] = input_layer
keras_model.save(model_directory)
print("Changed2")


your_model = coremltools.converters.keras.convert(model_directory, input_names=['image'], output_names=['output'], image_input_names='image')




your_model.save('RecycleNet.mlmodel')

我得到以下错误:

代码语言:javascript
复制
TypeError: 'InputLayer' object is not iterable

我该如何将此模型转换为coremltools?谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-07-04 00:49:12

我通过使用以下命令修复了此错误:

代码语言:javascript
复制
coremltools.converters.keras

至:

代码语言:javascript
复制
coremltools.converters.tensorflow
票数 0
EN

Stack Overflow用户

发布于 2020-12-14 06:13:18

下面这行代码为我解决了问题:

代码语言:javascript
复制
coremlModel = coremltools.convert(model)

而不是使用这个:

代码语言:javascript
复制
coremlModel = coremltools.converters.keras.convert(model)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62719352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档