在轮询s3的配置文件时,Tensorflow服务模型服务器不断重新添加相同的模型

问题描述 投票:1回答:1

我正在使用Tensorflow Serving运行存储在s3存储桶中的模型。我还将模型配置文件保存在单独的s3存储桶中。我的用例是,为了动态添加模型而无需重新启动服务器,我将定期轮询此配置文件以查找更改。

为了做到这一点,我使用了以下设置:

  1. tensorflow / serving:1.15.0使用头盔将图像部署到Kubernetes集群中。
  2. 在部署的掌舵图中,以下几行定义了用于轮询s3的配置的运行命令和args
command:
 - "/usr/bin/tensorflow_model_server"
args:
 - --model_config_file={path to config file}
 - --model_config_file_poll_wait_seconds=60
  1. 掌舵图还为AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_REGION,S3_ENPOINT和AWS_LOG_LEVEL = 3设置环境变量

模型配置文件包含内容:

model_config_list: {
    config: {
        name: "mlp",
        base_path: "s3://bucketname/mlp",
        model_platform: "tensorflow",
        model_version_policy: {
            specific: {
                versions: 20200130
            }
        }
    }
}

Tensorflow加载正确的模型并正确运行它们,一切似乎都能按预期工作。我看到的问题是,每当服务器轮询S3中的配置文件时,即使它们相同,它也会读取模型。这将导致常规日志如下。

2020-02-06 07:07:01.930476: I tensorflow_serving/model_servers/server_core.cc:462] Adding/updating models.
2020-02-06 07:07:01.930495: I tensorflow_serving/model_servers/server_core.cc:573]  (Re-)adding model: mlp
2020-02-06 08:07:01.965518: I tensorflow_serving/model_servers/server_core.cc:462] Adding/updating models.
2020-02-06 08:07:01.965548: I tensorflow_serving/model_servers/server_core.cc:573]  (Re-)adding model: mlp
2020-02-06 09:07:01.967228: I tensorflow_serving/model_servers/server_core.cc:462] Adding/updating models.
2020-02-06 09:07:01.967259: I tensorflow_serving/model_servers/server_core.cc:573]  (Re-)adding model: mlp

我担心的是,如果轮询频率过高,这将影响模型的性能。我想知道是否实际上正在进行任何更改,或者这仅仅是额外的日志记录。

tensorflow-serving
1个回答
0
投票

这看上去都很正常。

查看代码(server_core.cc),似乎在读取model.config文件时而不是在加载模型时会显示这些消息...这在读取model.config文件后必须发生。尽管我不太清楚代码,但我认为我们可以得出结论,加载模型本身时不会显示这些消息。但显示在工作流程的较早位置。

仅在显示这些消息后才尝试找出哪些型号是新的。您可以看到正在发生比较here


您的问题有一件奇怪的事。从消息的时间戳看,似乎每60 minutes而不是每60 seconds就会读取一次models.config文件。

© www.soinside.com 2019 - 2024. All rights reserved.