如何通过标准tensorflow服务docker镜像来服务模型的多个版本?

gen*_*i98 2 docker tensorflow tensorflow-serving

我是Tensorflow服务的新手,

我刚刚在本教程中尝试了通过docker进行Tensorflow服务,并成功了。

但是,当我尝试使用多个版本时,它仅提供最新版本。

有可能这样做吗?还是我需要尝试不同的东西?

Kri*_*R89 5

这需要一个ModelServerConfig,下一个Docker镜像tensorflow / serving版本1.11.0(自2018年5月5日开始可用)将支持它。到那时,你可以创建自己的码头工人的形象,或使用tensorflow /服务:夜间或tensorflow /服务:1.11.0-RC0作为说明这里。有关如何实现多个模型的信息,请参见该线程。

另一方面,如果要启用单个模型的多个版本,则可以使用以下名为“ models.config”的配置文件:

model_config_list: {
    config: {
        name: "my_model",
        base_path: "/models/my_model",
        model_platform: "tensorflow",
        model_version_policy: {
            all: {}
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的“ model_version_policy:{all:{}}”使模型的每个版本可用。然后运行docker:

docker run -p 8500:8500 8501:8501 \
    --mount type=bind,source=/path/to/my_model/,target=/models/my_model \
    --mount type=bind,source=/path/to/my/models.config,target=/models/models.config \
    -t tensorflow/serving:nightly --model_config_file=/models/models.config
Run Code Online (Sandbox Code Playgroud)

编辑:
现在可以使用版本1.11.0,可以通过拉新图像开始:

docker pull tensorflow/serving
Run Code Online (Sandbox Code Playgroud)

然后使用tensorflow / serving代替tensorflow / serving:nightly运行上述docker镜像:每晚。