tensorflow官网的示例是MNIST分类任务,使用Softmax Regression model。
训练并导出模型
如果模型已经导出,可以先进行清理
$>rm -rf /tmp/mnist_model
serving/tensorflow_serving/example/mnist_saved_model.py
的训练和保存模型的过程并没有什么特别。
export_path_base = sys.argv[-1]
export_path = os.path.join(
compat.as_bytes(export_path_base),
compat.as_bytes(str(FLAGS.model_version)))
print 'Exporting trained model to', export_path
builder = tf.saved_model.builder.SavedModelBuilder(export_path)
builder.add_meta_graph_and_variables(
sess, [tag_constants.SERVING],
signature_def_map={
'predict_images':
prediction_signature,
signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY:
classification_signature,
},
legacy_init_op=legacy_init_op)
builder.save()
通过tensorflow-serving-api运行
$ python tensorflow_serving/example/mnist_saved_model.py /tmp/mnist_model
查看模型
$>ls /tmp/mnist_model
1
$>ls /tmp/mnist_model/1
saved_model.pb variables
Model Server加载模型
通过apt-get安装的tensorflow model server
$ tensorflow_model_server --port=9000 --model_name=mnist --model_base_path=/tmp/mnist_model/
验证server
python tensorflow_serving/example/mnist_client.py --num_tests=1000 --server=localhost:9000