Baz*_*rds 11 java deep-learning tensorflow tensorflow-serving
我已经基于"广泛而深入"的例子创建了一个模型(https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/learn/wide_n_deep_tutorial.py).
我已经将模型导出如下:
m = build_estimator(model_dir)
m.fit(input_fn=lambda: input_fn(df_train, True), steps=FLAGS.train_steps)
results = m.evaluate(input_fn=lambda: input_fn(df_test, True), steps=1)
print('Model statistics:')
for key in sorted(results):
print("%s: %s" % (key, results[key]))
print('Done training!!!')
# Export model
export_path = sys.argv[-1]
print('Exporting trained model to %s' % export_path)
m.export(
export_path,
input_fn=serving_input_fn,
use_deprecated_input_fn=False,
input_feature_key=INPUT_FEATURE_KEY
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何创建一个客户端来从这个导出的模型进行预测?还有,我是否正确导出了模型?
最终我也需要能够在Java中做到这一点.我怀疑我可以通过使用gRPC从proto文件创建Java类来实现这一点.
文档非常粗略,因此我在这里问.
非常感谢!
我写了一个简单的教程Exporting and Serving a TensorFlow Wide & Deep Model。
长话短说
要导出估算器,有四个步骤:
将要导出的特征定义为估计器初始化期间使用的所有特征的列表。
使用创建功能配置create_feature_spec_for_parsing。
构建一个serving_input_fn适合在服务中使用的input_fn_utils.build_parsing_serving_input_fn.
使用 导出模型export_savedmodel()。
要正确运行客户端脚本,您需要执行以下三个步骤:
创建脚本并将其放置在 /serving/ 文件夹中的某个位置,例如 /serving/tensorflow_serving/example/
通过添加py_binary.
构建并运行模型服务器,例如tensorflow_model_server。
创建、构建并运行一个客户端,该客户端将 tf.Example 发送给我们tensorflow_model_server以进行推理。
有关更多详细信息,请参阅教程本身。
| 归档时间: |
|
| 查看次数: |
1655 次 |
| 最近记录: |