如何通过标准张量流服务泊坞窗图像提供多个版本的模型?

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

我是Tensorflow服务的新手,

我刚试过Tensorflow通过docker与this tutorial服务并成功。

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

有可能吗?或者我需要尝试不同的东西吗?

docker tensorflow tensorflow-serving
2个回答
4
投票

这需要一个ModelServerConfig,它将受到下一个docker image tensorflow / serve release 1.11.0的支持(自5月2018年起可用)。在此之前,您可以创建自己的泊坞窗图像,或使用tensorflow / serving:nightly或tensorflow / serving:1.11.0-rc0,如here所述。请参阅该线程以了解如何实现多个模型。

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

model_config_list: {
    config: {
        name: "my_model",
        base_path: "/models/my_model",
        model_platform: "tensorflow",
        model_version_policy: {
            all: {}
        }
    }
}

这里“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

编辑: 现在版本1.11.0可用,您可以从拉动新图像开始:

docker pull tensorflow/serving

然后使用tensorflow / serve而不是tensorflow / serving运行docker image,如上所示:nightly。


1
投票

我找到了一种方法来实现这一点,建立我自己的docker图像,使用--model_config_file选项而不是--model_name--model_base_path

所以我正在使用以下命令运行tensorflow。

docker run -p 8501:8501 -v {local_path_of_models.conf}:/models -t {docker_iamge_name}

当然,我也为多个模型编写了“models.conf”。

编辑:

以下是我从原始docker文件修改的内容。

原始版本:

tensorflow_model_server --port=8500 --rest_api_port=8501 \ --model_name=${MODEL_NAME} --model_base_path=${MODEL_BASE_PATH}/${MODEL_NAME} \

修改版本:

tensorflow_model_server --port=8500 --rest_api_port=8501 \ --model_config_file=${MODEL_BASE_PATH}/models.conf \

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