import tensorflow as tf
from tensorflow import saved_model as sm
X = tf.placeholder(tf.float32, shape=(3,))
scale = tf.Variable([10, 11, 12], dtype=tf.float32)
y = tf.multiply(X, scale)
with tf.Session() as sess:
sess.run(tf.initializers.global_variables())
value = sess.run(y, feed_dict={X: [1., 2., 3.]})
print(value)
# 准备存储模型
path = 'hdfs:///hzd' ↵
builder = sm.builder.SavedModelBuilder(path)
# 构建需要在新会话中恢复的变量的 TensorInfo protobuf
X_TensorInfo = sm.utils.build_tensor_info(X)
scale_TensorInfo = sm.utils.build_tensor_info(scale)
y_TensorInfo = sm.utils.build_tensor_info(y)
# 构建 SignatureDef protobuf
SignatureDef = sm.signature_def_utils.build_signature_def(
inputs={'input_1': X_TensorInfo, 'input_2': scale_TensorInfo},
outputs={'output': y_TensorInfo},
method_name='what'
)
builder.add_meta_graph_and_variables(sess, tags=["demo.pb"],
signature_def_map={sm.signature_constants.CLASSIFY_INPUTS: SignatureDef}
)
builder.save()