我找到了几个示例来加载我保存的估算器my_estimator.export_savedmodel(export_dir, export_input_fn)
模型,作为predictor = tf.contrib.predictor.from_saved_model(export_dir)
这样的预测变量。当我的tf.train.Example
只有一项时,此功能非常有用。如何使它适用于TF 1.13的批处理?
model_input= tf.train.Example(features=tf.train.Features(feature={
'browser_name': tf.train.Feature(bytes_list=tf.train.BytesList(value=[b"chrome", b"ie"])),
'version': tf.train.Feature(float_list=tf.train.FloatList(value=[8.0, 11.0]))
})).SerializeToString()
predictor({"inputs":[model_input]})
每个功能有多个输入时,调用失败。
答案 0 :(得分:0)
predictor({"inputs":[model_input1, model_input2]})
可以,但是需要手动将数据枚举到多个tf.train.Example
实例中
答案 1 :(得分:0)
这是一个使用 tensorflow 1.13.1 的工作示例:
import tensorflow as tf
import pandas as pd
import numpy as np
prod_export_dir = 'my_model_dir'
data = pd.read_csv('my_data.csv')
predictor = tf.contrib.predictor.from_saved_model(prod_export_dir)
model_input = {}
for k, v in predictor.feed_tensors.items():
model_input[k] = np.array(data[k].tolist(), dtype=v.dtype.as_numpy_dtype)
prediction = predictor(model_input)