Swift TypeError:“InputLayer”对象不适用于CoreMLTools
我正在尝试将VGG模型转换为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_
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)