【问题标题】:How to serve multiple versions of model via standard tensorflow serving docker image?如何通过标准 tensorflow 服务 docker 映像服务多个版本的模型?
【发布时间】:2019-03-03 01:54:17
【问题描述】:

我是 Tensorflow 服务的新手,

我刚刚尝试使用 this tutorial 通过 docker 提供 Tensorflow 服务并成功了。

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

有可能做到吗?还是我需要尝试一些不同的东西?

【问题讨论】:

    标签: docker tensorflow tensorflow-serving


    【解决方案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 \

    【讨论】:

    • 您有机会在某处放置示例设置吗?我正在尝试实现相同的目标,但显然我将错误的东西传递给了 docker 映像
    【解决方案2】:

    这需要 ModelServerConfig,下一个 docker 镜像 tensorflow/serving 版本 1.11.0(自 5. Okt 2018 起可用)将支持该配置。在此之前,您可以创建自己的 docker 映像,或使用 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
    

    然后像上面一样运行 docker 镜像,使用 tensorflow/serving 而不是 tensorflow/serving:nightly。

    【讨论】:

      猜你喜欢
      • 2019-02-18
      • 2019-04-01
      • 2018-01-26
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 2021-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多