Давайте рассмотрим официальный пример классификации структурированных данных с помощью TF: https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/structured_data/feature_columns.ipynb
Как мне сохранить и загрузить такую (уже установленную) модель для прогнозирования новых наблюдения в моем целевом python приложении?
Если сохранить (после подгонки модели) с помощью
model.save('test_model')
, а затем загрузить его в мое целевое приложение (или непосредственно в тот же блокнот) с :
new_model = tf.keras.models.load_model('./test_model')
new_model.summary()
Сводка приведет к следующей ошибке:
ValueError: This model has not yet been built. Build the model first by calling `build()` or calling `fit()` with some data, or specify an `input_shape` argument in the first layer(s) for automatic build.
Проблемы, похоже, связаны с входным конвейером, так как наш первый слой является слоем DenseFeatures без какой-либо указанной формы ввода. Как это следует изменить?
В конце у нас будут наблюдения с 11 объектами в этом случае (например, массив numpy со значениями объектов), которые мы хотим передать в метод predict()
модель. Я не смог найти ни одного примера о том, как сохранить подогнанную модель со слоем DenseFeature (входной), а затем загрузить ее для выполнения прогнозов. Задание input_shape=(11,)
на слое объектов также не сработало. Большое спасибо