Swift TypeError:“InputLayer”对象不适用于CoreMLTools

Swift TypeError:“InputLayer”对象不适用于CoreMLTools,swift,keras,coremltools,Swift,Keras,Coremltools,我正在尝试将VGG模型转换为coremltools。当我运行以下代码转换模型时: 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_

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

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')
我得到以下错误:

TypeError: 'InputLayer' object is not iterable

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

我通过切换使用以下选项修复了此错误:

coremltools.converters.keras
致:


这行代码为我解决了:

coremlModel = coremltools.convert(model)
而不是使用这个:

coremlModel = coremltools.converters.keras.convert(model)

因为没有名为InputLayer的层,但Input有。我将其更改为Input,但仍然存在相同的错误
coremlModel = coremltools.converters.keras.convert(model)