运行 Docker 在 Tensorflow 服务图像上遇到错误

Facing error while running Docker on Tensorflow serving image

我训练了一个 Tensorflow 对象检测模型。我正在尝试使用 docker 上的 tensorflow 服务图像发出 REST 请求。 (遵循 https://github.com/tensorflow/serving 的说明)

TESTDATA="$(pwd)/serving/tensorflow_serving/servables/tensorflow/testdata/"

 docker run -t --rm -p 8501:8501 \
    -v "$TESTDATA/my_model:/models/work_place_safety" \
     -e MODEL_NAME=work_place_safety \
     tensorflow/serving &

我面临以下错误消息-

$ C:\Program Files\Docker\Docker\Resources\bin\docker.exe:来自守护程序的错误响应:挂载被拒绝: 源路径"C:/Users/Desktop/models/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_work_place_safety;C" Docker 不存在且不为人所知。 参见 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'。

我想知道为什么它在源路径的末尾包含 ";C" 并引发错误。

非常感谢任何帮助。

谢谢

my_model 的值是多少?是saved_model_work_place_safety.

您确定您保存的对象检测模型在文件夹 saved_model_work_place_safety 中并且该文件夹在路径 $(pwd)/serving/tensorflow_serving/servables/tensorflow/testdata/ 中吗?

如果它不在 testdata 内,您应该指出正确的路径,其中存在 saved_model_work_place_safety

文件夹结构应该是这样的=>

saved_model_work_place_safety => 0000012315562725081 => .pb fileVariables 文件夹。

通过在 Git bash 中的 $ 之前添加 / 解决了该问题。

docker run -t --rm -p 8501:8501 \
    -v /$TESTDATA/my_model:/models/my_model \
     -e MODEL_NAME=my_model \
     tensorflow/serving &