【问题标题】:Logging requests being served by tensorflow serving model记录由 tensorflow 服务模型服务的请求
【发布时间】:2018-03-03 17:54:13
【问题描述】:

我已经使用 tesnorflow serving 构建了一个模型,并使用以下命令在服务器上运行它:-

bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server --port=9009 --model_name=ETA_DNN_Regressor --model_base_path=//apps/node-apps/tensorflow-models-repository/ETA

但现在这个屏幕停滞不前,没有提供有关传入请求和响应的任何信息。 我尝试使用 TF_CPP_MIN_VLOG_LEVEL=1 标志。但现在它提供了如此多的输出,但仍然没有记录/监控传入的请求/响应。

请建议如何查看这些日志。

我面临的第二个问题是如何在后台运行这个进程并持续监控它。假设我关闭了控制台,那么该进程也应该正在运行,以及如何再次重新连接该进程控制台并查看实时流量。

任何建议都会有所帮助。

【问题讨论】:

    标签: python bash logging tensorflow tensorflow-serving


    【解决方案1】:

    对于初始的HTTP请求记录,您可以设置TF_CPP_VMODULE=http_server=1设置VLOG级别http_server.cc - 这将为您提供一个非常裸露的请求日志,显示传入请求和一些基本错误情况:

    2020-08-26 10:42:47.225542: I tensorflow_serving/model_servers/http_server.cc:156] Processing HTTP request: POST /v1/models/mymodel:predict body: 761 bytes.
    2020-08-26 10:44:32.472497: I tensorflow_serving/model_servers/http_server.cc:139] Ignoring HTTP request: GET /someboguspath
    2020-08-26 10:51:36.540963: I tensorflow_serving/model_servers/http_server.cc:156] Processing HTTP request: GET /v1/someboguspath body: 0 bytes.
    2020-08-26 10:51:36.541012: I tensorflow_serving/model_servers/http_server.cc:168] Error Processing HTTP/REST request: GET /v1/someboguspath Error: Invalid argument: Malformed request: GET /v1/someboguspath
    2020-08-26 10:53:17.039291: I tensorflow_serving/model_servers/http_server.cc:156] Processing HTTP request: GET /v1/models/someboguspath body: 0 bytes.
    2020-08-26 10:53:17.039456: I tensorflow_serving/model_servers/http_server.cc:168] Error Processing HTTP/REST request: GET /v1/models/someboguspath Error: Not found: Could not find any versions of model someboguspath
    2020-08-26 11:01:43.466636: I tensorflow_serving/model_servers/http_server.cc:156] Processing HTTP request: POST /v1/models/mymodel:predict body: 755 bytes.
    2020-08-26 11:01:43.473195: I tensorflow_serving/model_servers/http_server.cc:168] Error Processing HTTP/REST request: POST /v1/models/mymodel:predict Error: Invalid argument: Incompatible shapes: [1,38,768] vs. [1,40,768]
         [[{{node model/transformer/embeddings/add}}]]
    2020-08-26 11:02:56.435942: I tensorflow_serving/model_servers/http_server.cc:156] Processing HTTP request: POST /v1/models/mymodel:predict body: 754 bytes.
    2020-08-26 11:02:56.436762: I tensorflow_serving/model_servers/http_server.cc:168] Error Processing HTTP/REST request: POST /v1/models/mymodel:predict Error: Invalid argument: JSON Parse error: Missing a comma or ']' after an array element. at offset: 61
    

    ...您可以浏览https://github.com/tensorflow/serving/blob/master/tensorflow_serving/model_servers/http_server.cc 987654325 @查看此模块中的所有日志记录。

    对于GRPC可能有一些相应的模块,您可以类似地启用VLOG for - 我还没有去寻找它。

    【讨论】:

      【解决方案2】:

      当您在下面运行此命令时,您将启动一个 tensorflow 模型服务器进程,该进程在端口号(此处为 9009)处为模型提供服务。

      bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server --port=9009 
      --model_name=ETA_DNN_Regressor --model_base_path=//apps/node-apps/tensorflow- 
      models-repository/ETA
      

      您不是在此处显示日志,而是在运行模型服务器。这就是画面卡顿的原因。运行上述命令时,您需要使用标志 -v=1 在控制台上显示日志

      bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server -v=1 --port=9009 --model_name='model_name' --model_base_path=model_path

      现在转到您对传入请求/响应的日志记录/监控。当 VLOG 设置为 1 时,您无法监控传入的请求/响应。 VLOG 称为详细日志。您需要使用log level 3 来显示所有错误、警告和一些与处理时间(INFO1 和 STAT1)相关的信息性消息。请查看给定的链接以获取有关 VLOGS 的更多详细信息。 http://webhelp.esri.com/arcims/9.2/general/topics/log_verbose.htm

      现在解决您的第二个问题。我建议您使用 Tensorflow 提供的环境变量服务 export TF_CPP_MIN_VLOG_LEVEL=3 而不是设置标志。在启动服务器之前设置环境变量。之后,请输入以下命令启动服务器并将日志存储到名为mylog的日志文件中

      bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server --port=9009 --model_name='model_name' --model_base_path=model_path &> my_log &。即使您关闭控制台,所有日志也会在模型服务器运行时存储。希望这会有所帮助。

      【讨论】:

      • 详细日志会给出大量不相关的日志,例如警告。有没有办法只记录请求和处理时间?
      • @user3457384 您是否能够从日志中捕获响应和请求?我试图在启用 TF_CPP_MIN_VLOG_LEVEL 后捕获上述内容,但在日志中看不到响应信息
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      • 2013-02-08
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多