繁体   English   中英

由 tensorflow 服务模型服务的日志记录请求

[英]Logging requests being served by tensorflow serving model

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

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 标志。 但是现在它提供了如此多的输出,但仍然没有记录/监控传入的请求/响应。

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

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

任何建议都会有所帮助。

当您在下面运行此命令时,您正在启动一个 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)相关的信息性消息。 请查看给定的链接以获取有关 VLOG 的更多详细信息。 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 & . 即使您关闭控制台,所有日志也会在模型服务器运行时存储。 希望这会有所帮助。

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

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以查看VLOG(1) <<出现,以查看此模块中的所有日志记录语句。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM