我正在尝试部署一个图像检测应用程序(基于出色的Mask_RCNN),该应用程序在本地运行良好,几乎没有回声的简单数据集。我想部署到Google的AI平台上进行更重的计算。
我设法使用gcloud成功打包/部署了该应用程序,但现在我陷入了困境:
我的训练/验证数据集当前由一系列图像(1000多个)和一系列JSON文件(用于标签,每个类一个文件)组成。在本地,我可以使用os和imread毫无问题地访问这些文件,但都不能在Google存储桶中使用。
我可以使用Tensorflow对象重新编写代码,但这将需要大量工作(并且可能需要我了解/修改Mask_RCNN的lib的一部分)。
还有其他/更好的方法吗?
仅供参考,这是我要启动部署的批处理代码:
THIS_DIR="/home/me/test"
JOB_NAME=my_ml_job_$(date -u +%y%m%d_%H%M%S)
GS_BUCKET="gs://..."
echo "Deploying solution remotely"
# Sets up variables later used
PACKAGE_PATH="$THIS_DIR/mushrooms_detector/trainer"
TRAIN_DATA_PATH="$GS_BUCKET/datasets"
MODEL_OUTPUT_DIR="$GS_BUCKET/models"
JOB_DIR="$GS_BUCKET/job_dir"
LIBS="$GS_BUCKET/libs/mask_rcnn-2.1-py3-none-any.whl"
REGION="europe-west1"
RUNTIME="1.12"
gcloud ai-platform jobs submit training $JOB_NAME \
--package-path $PACKAGE_PATH \
--module-name trainer.task \
--job-dir=$JOB_DIR \
--region $REGION \
--runtime-version $RUNTIME \
--python-version 3.5 \
--packages $LIBS \
-- \
train \
--dataset=$TRAIN_DATA_PATH \
--weights=imagenet \
--model=$MODEL_OUTPUT_DIR \
--class_ids Amanita_muscaria
echo "End of remote deployment"