我想使用keras和CoreML制作一个应用程序,因此阅读参考资料时,我是在代码下编写的。但是,当我转换模型时,我几乎遇到了一些问题。
例如,模型的层是
model = Sequential()
all_class = 7
model.add(Conv2D(32, (3, 3), padding='same',
input_shape=X_train.shape[1:]))
model.add(Dense(7, input_dim =4))
model.add(Activation('relu'))
model.add(Conv2D(32, (3, 3)))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Conv2D(64, (3, 3), padding='same'))
model.add(Activation('relu'))
model.add(Conv2D(64, (3, 3)))
model.add(Dropout(0.5))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Activation('relu'))
model.add(Conv2D(32, (3, 3)))
model.add(Dropout(0.5))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(all_class))
model.add(Activation('softmax'))
model.compile(loss='sparse_categorical_crossentropy',
optimizer='Adam',
metrics=['accuracy'])
,并且当我使用此代码将模型转换为mlmodel形状模型时,
coreml_model = coremltools.converters.keras.convert(model,
class_labels='labels.text',
input_names='image',
is_bgr = True,
image_input_names='image',
image_scale=1/255.0)
发生此问题
Input name length mismatch
0 : conv2d_121_input, <keras.engine.input_layer.InputLayer object at 0x1c59438c88>
:
KeyError: 'conv2d_121_input'
请告诉我如何解决此问题。