我正试图理解一个用tensorflow Estimator框架建立的模型。我想使用Hooks API来添加在评估或预测期间处理输入的操作。
似乎我应该能够离开 model_fn
训练时单独使用,并实施我自己的 SessionRunHook
类来添加操作,但我如何掌握模型的输入张力?例如,假设 model_fn
看起来
def model_fn(features, labels, mode, params):
concatanated_features = prepare_inputs(features, params)
...
和 prepare_inputs
就这样
def prepare_inputs(features, params):
return tf.feature_column.input_layer(features, params['column_names'])`
然后,我做了这样的事情
class MyHook(tf.train.SessionRunHook):
def begin(self):
self.myTensor = my_function(features) # but how do I get features?
self.myTensor2 = my_function(concatanated_features) # likewise,
gr = tf.get_default_graph() # seems I have to start here and know what I'm looking for
我建议你看看 TF Serve
的预测。你可以使用提供的gRPCREST API来调用你保存的模型来获取预测结果,并且,你可以在生成REST调用的JSON请求之前进行任何所需的预处理。
而且,你可以在生成REST调用的JSON请求之前进行任何必要的预处理。Serve
: https:/www.tensorflow.orgtfxtutorialsservingrest_simple?hl=en