将Python ML应用程序部署到Google AI:如何处理培训/配置文件

时间:2019-07-13 21:46:14

标签: python tensorflow machine-learning google-cloud-platform

我正在尝试部署一个图像检测应用程序(基于出色的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"

0 个答案:

没有答案