首页 > 解决方案 > 如何为 tensorflow 服务准备预热请求文件?

问题描述

当前版本的 tensorflow-serving 尝试从 assets.extra/tf_serving_warmup_requests 文件加载预热请求。

2018-08-16 16:05:28.513085: I tensorflow_serving/servables/tensorflow/saved_model_warmup.cc:83] 在 /tmp/faster_rcnn_inception_v2_coco_2018_01_28_string_input_version-export/1/assets.extra/tf_serving_warmup_requests 找不到预热数据文件

我想知道 tensorflow 是否提供通用 api 来将请求导出到该位置?还是我们应该手动向该位置写入请求?

标签: tensorflowtensorflow-servinginference

解决方案


在这一点上,没有用于将预热数据导出到 assets.extra 的通用 API。写一个脚本比较简单(类似下面):

import tensorflow as tf
from tensorflow_serving.apis import model_pb2
from tensorflow_serving.apis import predict_pb2
from tensorflow_serving.apis import prediction_log_pb2

def main():
    with tf.python_io.TFRecordWriter("tf_serving_warmup_requests") as writer:
        request = predict_pb2.PredictRequest(
            model_spec=model_pb2.ModelSpec(name="<add here>"),
            inputs={"examples": tf.make_tensor_proto([<add here>])}
        )
    log = prediction_log_pb2.PredictionLog(
        predict_log=prediction_log_pb2.PredictLog(request=request))
    writer.write(log.SerializeToString())

if __name__ == "__main__":
    main()

推荐阅读