Я пытаюсь загрузить модель в java, которая изначально сохранена в keras в Java, чтобы я мог сделать вывод внутри процесса в существующей производственной системе, которая работает на Java.
Я не видел способа легко загрузить модели Keras h5 в Java, поэтому я пытаюсь сначала преобразовать его в файл .pb с помощью simple_save, а затем загрузить его с помощью тега по умолчанию для simple_save. Я попытался сохранить график напрямую, используя процедуру freeze_session и tf.train.write_graph, но у меня была та же ошибка.
Вот код для сохранения моей модели в файл .pb
# my model has two input tensors and one output tensor
inputs = {'input_1': model.inputs[0], 'input_2' : model.inputs[1]}
outputs = {'output_1' : model.outputs[0]}
tf.saved_model.simple_save(K.get_session(), 'output_dir', inputs=inputs, outputs=outputs)
Вот мой Java-код для загрузки модели с использованием тега по умолчанию для save_model:
SavedModelBundle model = SavedModelBundle.load("output_dir", "serve");
Это приводит к ошибке:
Исключение в потоке "main" org.tensorflow.TensorFlowException:
Не удалось найти SavedModel .pb или .pbtxt по указанному пути каталога экспорта: output_dir
Есть идеи, что я могу делать не так? Я знаю, что simple_save устарела, но я просто пытаюсь заставить что-либо работать на этом этапе.