json - 获取 curl:(52) 尝试将 curl 命令发送到运行 AutoML 模型的 docker 的 http 地址时来自服务器的空回复
问题描述
我正在尝试将预测请求作为 JSON 发送到在 docker 容器上运行的 AutoML 模型的 docker 映像。我已从 AutoML UI 导出图像并将其存储在 Google Cloud Storage 中。
我正在运行以下命令来启动 docker 映像。
CPU_DOCKER_GCS_PATH="gcr.io/automl-vision-ondevice/gcloud-container-1.12.0:latest"
YOUR_MODEL_PATH="gs://../../saved_model.pb"
PORT=8501
CONTAINER_NAME="my_random_name"
sudo docker run --rm --name ${CONTAINER_NAME} -p ${PORT}:8501 -v ${YOUR_MODEL_PATH}:/tmp/mounted_model/0001 -t ${CPU_DOCKER_GCS_PATH}
当我运行此命令时,我收到以下错误,但程序运行。
2019-05-09 11:29:06.810470:E tensorflow_serving/sources/storage_path/file_system_storage_path_source.cc:369] FileSystemStoragePathSource 遇到文件系统访问错误:找不到可服务默认值的基本路径 /tmp/mounted_model/
我正在运行以下命令来发送预测请求。
curl -d @/home/arkanil/saved_model/cloud_output.json -X POST http://localhost:8501/v1/models/default:predict
这将返回 curl: (52) 来自服务器的空回复。
我试图按照下面提到的谷歌文档中写的步骤进行操作。
https://cloud.google.com/vision/automl/docs/containers-gcs-tutorial#install-docker https://docs.docker.com/install/linux/docker-ce/debian/
以 curl 形式获取输出:(52)来自服务器的空回复。
预期结果应该是一个 JSON 文件,描述了在 docker 中运行的 AutoML 模型的预测数字。
解决方案
似乎您正在尝试在谷歌存储中使用模型的传递路径运行。您应该saved_model.pb
从 GS 下载到本地计算机并将其路径传递给YOUR_MODEL_PATH
变量。
下载模型使用:
gsutil cp ${YOUR_MODEL_PATH} ${YOUR_LOCAL_MODEL_PATH}/saved_model.pb
推荐阅读
- apache-spark - persist(StorageLevel.MEMORY_AND_DISK) 如何在 Spark 3.1 中使用 Java 实现
- python - 如何在python中导入文件?
- python - 从一个目录到另一个目录查找
- jenkins - groovy:: java.lang.IllegalArgumentException: 预期命名参数但得到
- laravel - Laravel 使用关系过滤查询结果
- excel - 从特定联系人(发件人)和 Outlook 中不同收件箱地址的电子邮件中提取 pdf 文件
- javascript - 如何使用 InAppBrowser react-native (android) 防止重复使用先前会话的 cookie
- plpgsql - 语法高亮 plpgsql 函数的工具
- php - PHP Post变量保持为空
- java - 当 FetchType=Lazy 时 SpringBoot Test JPA 出现“无会话”异常