Keras model.export() завершается с ошибкой из-за фигур NoneType в моделиPython

Программы на Python
Anonymous
Keras model.export() завершается с ошибкой из-за фигур NoneType в модели

Сообщение Anonymous »

Я пытаюсь настроить модель DeepLabV3Plus из библиотеки keras_cv для использования в пользовательском наборе данных, но при попытке экспорта в формат SavedModel получаю следующую ошибку:
File "C:\Users\u\.pyenv\pyenv-win\versions\3.10.2\lib\site-packages\keras\src\utils\traceback_utils.py", line 731, in error_handler *
return fn(*args, **kwargs)

TypeError: Exception encountered when calling UpSampling2D.call().

unsupported operand type(s) for *: 'NoneType' and 'int'

Arguments received by UpSampling2D.call():
• inputs=tf.Tensor(shape=(None, None, None, 256), dtype=float32)

Это сбивает с толку, поскольку при вызове DeepLabV3Plus.from_preset я указал входную форму для своей модели как [224,224,3], но в сводке модели для всех слоев отображается «Нет фигур» (см. здесь). для вывода model.summary()). Однако в блокнотах, которые я видел, это предполагаемое поведение, даже если вы указываете форму ввода.
Что касается сценария обучения, я использовал следующий код:
model = keras_cv.models.DeepLabV3Plus.from_preset(
"mobilenet_v3_large_imagenet",
num_classes=NUM_CLASSES,
input_shape=[224,224,3],
load_weights=True
)

layers_to_train = 1
def disable_training(x): x.trainable = False
[disable_training(layer) for layer in model.layers[:-layers_to_train]]
model.summary()

model.compile(
optimizer=keras.optimizers.Adam(learning_rate=LEARNING_RATE),
loss=[keras.losses.CategoricalFocalCrossentropy(from_logits=False, alpha=class_weights, gamma=3)],
metrics=[keras.metrics.OneHotMeanIoU(num_classes=NUM_CLASSES), 'accuracy'])

callback_cyclic = CyclicLR(base_lr = LEARNING_RATE, max_lr = MAX_LEARNING_RATE, step_size=STEP_SIZE, mode = CYCLIC_MODE)

history = model.fit(train_dataset, epochs=NUM_EPOCHS, batch_size=NUM_BATCH, validation_data=val_dataset, callbacks=[callback_cyclic])

model.export(savepath_dir+"model.tf")


Подробнее здесь: https://stackoverflow.com/questions/786 ... s-in-model

Вернуться в «Python»