问题是,我想用docker运行包括模型在内的tensorflow-serving,但似乎docker会让tensorflow-serving无法加载文件夹。在容器本身,它可以很容易地加载模型。
tensorflow_model_server --port=9000 --model_name=1 --model_base_path=/models/
但在docker中,它无法加载模型。
docker run --name tfx-test -p 8501:8501 -v "/models:/models" -e MODEL_NAME=5 -t tensorflow/serving
结果是:
E tensorflow_serving/sources/storage_path/file_system_storage_path_source.cc:362] FileSystemStoragePathSource encountered a filesystem access error: Could not find base path /models/5 for servable 5
结果是:模型文件。
|--models
|-- 1
|-- assets
|-- saved_model.pb
`-- variables
|-- variables.data-00000-of-00002
|-- variables.data-00001-of-00002
`-- variables.index
更改 docker run
命令。
docker run -p 8501:8501 --mount type=bind,\
source=/models/1,\
target=/models/my_model/1 \
-e MODEL_NAME=my_model -t tensorflow/serving
而且,你可以在这里看到你的模型元数据。http://localhost:8501/v1/models/my_model/metadata
(假设你是在以下地址运行docker) localhost
)