我试图使用最新的docker容器启动tensorflow-serving模型服务器,然后将配置文件存储在Amazon S3存储桶中,以便在更新此文件时,模型服务器将更新配置,而无需重新启动。我发现服务器启动正常并从S3拾取配置文件,但是当我将文件的修改版本上传到S3时,它没有拾取更改并提供正确的模型。
我找到了这个相关问题
Invalid argument --model_config_file_poll_wait_seconds
基于此,我尝试使用每晚的docker镜像,并且在服务器启动时我不再看到标志列表,这表明该标志现已被识别,但仍无法正常工作。可能该功能仍在开发中,尚不可用,但是最好能够确认是否确实如此。
我正在使用来自tensorflow服务和REST API的测试模型来测试是否正在提供预期的模型。
我正在使用以下命令启动服务器
docker run -p 8501:8501 -p 8500:8500 -e AWS_ACCESS_KEY_ID=XXX -e AWS_SECRET_ACCESS_KEY=YYY -e S3_ENDPOINT=s3.eu-west-1.amazonaws.com -e AWS_REGION=eu-west-1 -e TF_CPP_MIN_LOG_LEVEL=2 -t tensorflowserving:testtf-nightly --model_config_file=s3://bucket/config.conf --model_config_file_poll_wait_seconds=10
在这种情况下,泊坞窗映像是我使用夜间映像作为基础层构建的映像
我希望在配置更新后,API调用的结果会发生变化,但事实并非如此。
更新
经过进一步调查,以上关于夜间图像不工作的说法被证明是不正确的。实际上,该映像确实包含该功能,并且将重新加载配置。造成混淆的原因是,如果您使用新的base_path更新配置中的现有模型,那么这似乎不会导致模型配置发生更改。但是,如果删除该配置并重新创建它,则会看到您期望的更改。