我正在尝试使用我们自己的CSV数据集运行经过训练的this教程模型,并使用TensorFlow Serving在每行中由4个int值(最后一个是标签)组成一段距离,
我正在远距离使用Docker运行TensorFlow Serving,而我的开发环境是使用Python 3.6的Windows。
我使用以下代码导出模型,类似于给定here的示例:
(Ctrl+o)T:\Easy Labels\Customers\Toyota\MEX_mat.lab
(Ctrl+p)1704412
老实说,我不确定结果如何,但是在this指南中,half_plus_two模型提出了这样的预测数组
feature_spec = {'firstInt': tf.FixedLenFeature([1], tf.int64),
'secondInt': tf.FixedLenFeature([1], tf.int64),
'thirdInt': tf.FixedLenFeature([1], tf.int64)}
def serving_input_receiver_fn():
serialized_tf_example = tf.placeholder(dtype=tf.string,
shape=[None],
name='input_example_tensor')
receiver_tensors = {'examples': serialized_tf_example}
features = tf.parse_example(serialized_tf_example, feature_spec)
return tf.estimator.export.ServingInputReceiver(features, receiver_tensors)
classifier.export_savedmodel(
'.\\SaveLC\\save_dir',
serving_input_receiver_fn=serving_input_receiver_fn)
发送了这样的POST请求
"predictions": [
2.5,
3,
4.5
]
所以我想应该返回类似的内容,但是我被告知一个可服务对象甚至不存在。值得注意的是,它似乎也可以与指南中提供的其他模型一起使用。
{"instances": [1.0, 2.0, 5.0]}
此可服务内容是什么,如果我当前的方法当前不起作用,则该导出是什么意思?
谢谢
答案 0 :(得分:0)
看起来您保存模型的路径.\\SaveLC\\save_dir
和用于启动TensorFlow Serving容器并打开REST API端口的路径可能不相同。
启动TensorFlow Serving容器并打开REST API端口的代码是:
docker run -t --rm -p 8501:8501 \
-v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" \
-e MODEL_NAME=half_plus_two \
tensorflow/serving &
如果从终端或命令执行命令,则冒号之前的路径(在此示例中为$TESTDATA/saved_model_half_plus_two_cpu
)与保存模型的路径应该相同,并且应为完整路径。提示。
关于模型路径的另一个重要点是,我们不应在上述命令中包括版本号或时间戳值。