将Keras模型导出为SavedModel格式

我在将Keras生成的序列模型保存为SavedModel格式时遇到了问题。

正如https://www.tensorflow.org/guide/keras/save_and_serialize#export_to_savedmodel 中所述,要将Keras模型保存为TensorFlow可以使用的格式,我需要使用model.save()并指定save_format=’tf’,但我得到的是:

Traceback (most recent call last):  File "load_file2.py", line 14, in <module>    classifier.save('/tmp/keras-model.pb', save_format='tf')

我的代码示例是:

import pandas as pdimport tensorflow as tf;import keras;from keras import Sequentialfrom keras.layers import Denseimport json;import numpy as np;classifier = Sequential()classifier.add(Dense(4, activation='relu', kernel_initializer='random_normal', input_dim=4))classifier.add(Dense(1, activation='sigmoid', kernel_initializer='random_normal'))classifier.compile(optimizer ='adam',loss='binary_crossentropy', metrics = ['accuracy'])classifier.save('/tmp/keras-model.pb', save_format='tf')

我的Python版本是3.6.10。

我的TensorFlow版本是1.14和2.0(我在两个版本上都进行了测试,结果相同)。

我的Keras版本是2.3.1。

这里有什么问题,或者我应该做些什么改动才能让我的模型被保存并在TensorFlow中使用?

或者,也许有其他方法可以使用TensorFlow2作为后端来保存Keras模型?

谢谢。


回答:

我运行了你的代码。使用TensorFlow 1.15时,我得到了一个类型错误,说save_format不是已知的参数。使用TensorFlow 2时,我得到了建议使用tf.keras而不是原生的keras。所以,我尝试使用tf.keras代替keras。这次代码运行没有错误。另外,我没有看到在保存模型之前的fit方法。

使用TF2.0:

结果:

INFO:tensorflow:Assets written to: /tmp/keras-model.pb/assets

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注