2017-08-17 11 views
0

私はcontrib.learn.Classifierから作られたモデルを保存したいと思いますが、その内部ノードを参照する方法はわかりません。これは、バニラのTensorflowモデル(y = W * x + b)で使用するコードであり、うまく機能します。contrib.learn.Classifierで作成したTensorflowモデルを保存するにはどうすればよいですか?

W = tf.Variable([], dtype=tf.float32) 
b = tf.Variable([], dtype=tf.float32) 
x = tf.placeholder(tf.float32, name="x") 
my_model = tf.add(W * x, b, name="model") 
... # training 
builder = tf.saved_model.builder.SavedModelBuilder("/tmp/saved_model") 
builder.add_meta_graph_and_variables(sess, ["predict_tag"], signature_def_map= { 
      "model": tf.saved_model.signature_def_utils.predict_signature_def(
       inputs= {"x": x}, 
       outputs= {"model": my_model}) 
      }) 
builder.save() 

私はどのように私は、この後者のestimatorため、上記と同様builderを使用することができます

contrib.learn.Classifier

estimator = tf.contrib.learn.LinearClassifier(feature_columns=feature_columns) 
estimator.fit(input_fn=train_input_fn, steps=1000) 
を使用している場合は?私はしたくないことに注意してください tf.train.Saver().save(sess, "/tmp/model"); saved_model.builderを使用する必要があります。ありがとう!

答えて

0

あなたが与えられたディレクトリにSavedModelとして推論グラフをエクスポートする推定器のexport_savedmodel機能を使用することができます。、tf.contrib.learn.LinearClassifier

from tensorflow.contrib.layers.python.layers import feature_column as feature_column_lib 
from tensorflow.contrib.learn.python.learn.utils.input_fn_utils import build_parsing_serving_input_fn 

# create feature specs from feature columns 
feature_spec = feature_column_lib.create_feature_spec_for_parsing(
    feature_columns) 

# create the input function 
serving_input_fn = build_parsing_serving_input_fn(feature_spec) 

# finally save the model 
estimator.export_savedmodel('/path/to/save/my_model/', serving_input_fn=input_receiver_fn) 
関連する問題