Можно ли преобразовать нейросеть, сохраненную как checkpoint в формат h5
Есть обученная нейросеть (Object Detection Model) которая сохранена как Checkpoint, т.е 4 файла:
- labels.pbtxt;
- ckpt-1.data-00000-of-00001
- ckpt-1.index
- pipeline.config
Возможно ли преобразовать/сохранить эту нейросеть в формат *.h5 ?
P.S. Может быть я ошибаюсь, но похоже восстановить исходную нейросеть можно так:
PATH_TO_MODEL_DIR = "/content/saved_model"
PATH_TO_CFG = PATH_TO_MODEL_DIR + "/pipeline.config"
PATH_TO_CKPT = PATH_TO_MODEL_DIR + "/checkpoint"
где директория "checkpoint" включает файлы:
- labels.pbtxt
- ckpt-1.data-00000-of-00001
- ckpt-1.index
инсталируем предварительно Object Detection API и тогда
Load pipeline config and build a detection model
configs = config_util.get_configs_from_pipeline_file(PATH_TO_CFG)
model_config = configs['model']
detection_model = model_builder.build(model_config=model_config, is_training=False)
Restore checkpoint
ckpt = tf.compat.v2.train.Checkpoint(model=detection_model)
ckpt.restore(os.path.join(PATH_TO_CKPT, 'ckpt-1')).expect_partial()
tf.saved_model.save(ckpt, export_dir='/content/model')
но я не могу мспользовать High-level (Keras) метод save(), например:
ckpt.save('myModel.h5', save_format='h5')
я получаю ошибку: "TypeError:Checkpoint.save() got an unexpected keyword argument 'save_format'",
но при этом сохранение как:
tf.saved_model.save(ckpt, export_dir='/content/model')
работает
существует ли процесс, который позволит преобразовать формат Checkpoint в один файл *.h5 Keras формата ?
проще говоря, см. https://www.tensorflow.org/guide/keras/serialization_and_saving Могу ли я из этих четырех файлов получить модель, которую потом могу сохранить как:
model = ... # Get model (Sequential, Functional Model, or Model subclass) model.save('path/to/model')