在Ubuntu上使用Docker运行TensorFlow Serving失败求助
问题分析
报错显示TensorFlow Serving无法找到/models/half_plus_two/00000123下的saved_model.pb,但本地目录确实存在该文件,问题大概率出在Docker挂载目录的权限限制,容器内进程没有读取挂载文件的权限。
解决方案
1. 以root用户启动容器
在Docker命令中添加--user root参数,让容器以root身份运行,避免权限不足:
sudo docker run -it --rm --user root -p 8500:8500 -p 8502:8502 -v /tmp/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu:/models/half_plus_two -v /tmp/tensorboard:/tmp/tensorboard -e MODEL_NAME=half_plus_two tensorflow/serving
2. 修改本地目录权限
如果上述方法无效,给本地模型目录添加全局可读权限:
sudo chmod -R 755 /tmp/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu
3. 验证挂载路径正确性
确认本地模型目录结构无误:
ls -l /tmp/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu/00000123/
输出应包含saved_model.pb、variables和assets,确保这些文件没有被误移动或删除。
内容的提问来源于stack exchange,提问作者utkarsh katiyar
相关产品推荐
相关产品推荐

