Как конвертировать млмодель в керас
Я хочу сделать приложение, используя 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'
Подскажите пожалуйста как решить эту проблему.