如何通过标准tensorflow服务docker图像来服务多个版本的模型?
我是Tensorflow服务的新手 我刚刚尝试了Tensorflow,通过docker使用,并成功了 但是,当我尝试使用多个版本时,它只提供最新版本如何通过标准tensorflow服务docker图像来服务多个版本的模型?,docker,tensorflow,tensorflow-serving,Docker,Tensorflow,Tensorflow Serving,我是Tensorflow服务的新手 我刚刚尝试了Tensorflow,通过docker使用,并成功了 但是,当我尝试使用多个版本时,它只提供最新版本 有可能吗?或者我需要尝试一些不同的东西吗?我找到了一种方法,通过构建自己的docker映像来实现这一点,该映像使用--model\u config\u file选项,而不是--model\u name和--model\u base\u path 所以我运行tensorflow,使用下面的命令 docker run-p8501:8501-v{loca
有可能吗?或者我需要尝试一些不同的东西吗?我找到了一种方法,通过构建自己的docker映像来实现这一点,该映像使用
--model\u config\u file
选项,而不是--model\u name
和--model\u base\u path
所以我运行tensorflow,使用下面的命令
docker run-p8501:8501-v{local\u path\u of_models.conf}:/models-t{docker\u iamge\u name}
当然,我也为多个模型编写了“models.conf”
编辑:
下面是我从原始docker文件修改的内容
原文:
tensorflow\u模型\u服务器--端口=8500--rest\u api\u端口=8501\
--model_name=${model_name}--model_base_path=${model_base_path}/${model_name}\
修改版本:
tensorflow\u模型\u服务器--端口=8500--rest\u api\u端口=8501\
--model_config_file=${model_BASE_PATH}/models.conf\
这需要ModelServerConfig,下一个docker image tensorflow/serving 1.11.0版(自2018年5月起提供)将支持该配置。在此之前,您可以创建自己的docker映像,或使用tensorflow/serving:nightly或tensorflow/serving:1.11.0-rc0,如前所述。
有关如何实现多个模型,请参见该线程
另一方面,如果您希望启用单个模型的多个版本,则可以使用以下名为“models.config”的配置文件:
这里的“模型版本策略:{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/serving而不是tensorflow/serving:nightly运行docker映像,如上所述。您是否有可能在某处放置一个示例设置?我试图实现同样的目标,但我显然把错误的目标传递给了docker的形象
docker pull tensorflow/serving