Python 将Keras模型导出为SavedModel格式
我在将Keras生成的序列模型保存为SavedModel格式时遇到问题 正如我在书中所说, 要将Keras模型保存为TensorFlow可以使用的格式,我需要使用model.save()并提供save_format='tf',但我拥有的是:Python 将Keras模型导出为SavedModel格式,python,tensorflow,machine-learning,keras,export,Python,Tensorflow,Machine Learning,Keras,Export,我在将Keras生成的序列模型保存为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',
Traceback (most recent call last):
File "load_file2.py", line 14, in <module>
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。这次代码运行时没有出现错误。 另外,在保存模型之前,我没有看到合适的方法 对于TF2.0:
import pandas as pd
import tensorflow as tf;
##Change.
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense
import 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')
结果:
INFO:tensorflow:Assets written to: /tmp/keras-model.pb/assets
你能发布一条完整的错误信息吗?就是这样。没有更多的错误消息。谢谢你的回复,我没有从TensorFlow得到这个建议。现在我想知道,这些干酪有什么不同?他们有不同的版本?太棒了,谢谢!我认为对于save_format='tf',您需要省略.pb-以便它可以保存目录内容?