【问题标题】:Hot load of models into tensorflow serving container将模型热加载到 tensorflow 服务容器中
【发布时间】:2019-04-18 05:55:39
【问题描述】:

我知道如何将模型加载到容器中,而且我知道我们可以创建一个静态配置文件,当我们运行 tensorflow 服务容器时,将其传递给容器,然后使用该配置文件中的模型,但我想知道是否有任何方法可以将全新的模型(不是以前模型的新版本)热加载到正在运行的 tensorflow 服务容器中。我的意思是我们用模型 A 运行容器,然后我们将模型 B 加载到容器中并使用它,我们可以这样做吗?如果是怎么办?

【问题讨论】:

    标签: tensorflow tensorflow-serving


    【解决方案1】:

    你可以。

    首先你需要把新的模型文件复制到你在启动tf serve时指定的model_base_path,这样服务器就可以看到新的模型了。目录布局通常是这样的:$MODEL_BASE_PATH/$model_a/$version_a/* 和 $MODEL_BASE_PATH/$model_b/$version_b/*

    然后您需要使用包含新模型条目的新 model_config_file 刷新 tf serve。见here on how to add entries to the model config file。要让服务器接受新的配置,有两种方法:

    1. 保存新的配置文件并重新启动 tf 服务。
    2. 在不重新启动 tf serve 的情况下即时重新加载新模型配置。这个服务在model_service.proto中定义为HandleReloadConfigRequest,但是服务的REST api好像不支持,所以需要依赖gRPC API。可悲的是,Python client for gRPC 似乎没有实现。我设法从 protobuf 文件生成 Java 客户端代码,但它非常复杂。一个示例here 解释了如何生成 Java 客户端代码来进行 gRPC 推理,这与 handleReloadConfigRequest() 非常相似。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-20
    • 2018-03-07
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 2017-02-22
    相关资源
    最近更新 更多