公式クイックスタートに従って使ってみました。
簡単にディープライニングで画像分類ができることに感動。コーディングしていません。しかもData Augmentation(画像水増し)やハイパーパラメータの設定も自動でやってくれるなんて・・・
前提
OS: Ubuntu18.04 LTS 64bitで
Google Cloud Shellインストール済
手順
1. プロジェクト登録とAPIの有効化
Consoleからプロジェクトを新規登録して、ウィザードからAPI有効化。
2. プロジェクトとバケットの環境変数設定
Cloud Shellを使ってプロジェクトIDを設定し、プロジェクトとバケットの環境変数設定。バケット名が重要で、接尾辞が-vcmでないと後でエラーが出ます。
gcloud config set project <project id>
PROJECT=$(gcloud config get-value project) && BUCKET="${PROJECT}-vcm"
3. AutoML Vision サービス アカウントの権限の追加
AutoML Vision サービス アカウントの権限の追加をします。
gcloud projects add-iam-policy-binding $PROJECT \
--member="serviceAccount:custom-vision@appspot.gserviceaccount.com" \
--role="roles/ml.admin"
gcloud projects add-iam-policy-binding $PROJECT \
--member="serviceAccount:custom-vision@appspot.gserviceaccount.com" \
--role="roles/storage.admin"
4. バケットの作成
バケットの新規作成をして、サンプル画像のコピーします。サンプル画像はブログ記事に記載されている内容だそうです。チュートリアルには画像コピーに20分ほどかかると書かれていましたが、5分くらいで終わりました。
gsutil mb -p ${PROJECT} -c regional -l us-central1 gs://${BUCKET}
gsutil -m cp -R gs://cloud-ml-data/img/flower_photos/ gs://${BUCKET}/img/
gsutil -m cp -R <path>/1*.png gs://${BUCKET}/img/
5. CSV ファイルの作成
コピーしたデータの中にCSVファイルがあり、編集してローカルPCにall_data.csvというファイルを作成します。
gsutil cat gs://${BUCKET}/img/flower_photos/all_data.csv | sed "s:cloud-ml-data:${BUCKET}:" > all_data.csv
中身を少し見てみます。Google Cloud Storageのパスに変換されています。
$ head all_data.csv
gs://automlvision01-vcm/img/flower_photos/daisy/10140303196_b88d3d6cec.jpg,daisy
gs://automlvision01-vcm/img/flower_photos/daisy/10172379554_b296050f82_n.jpg,daisy
gs://automlvision01-vcm/img/flower_photos/daisy/10172567486_2748826a8b.jpg,daisy
gs://automlvision01-vcm/img/flower_photos/daisy/10172636503_21bededa75_n.jpg,daisy
gs://automlvision01-vcm/img/flower_photos/daisy/102841525_bd6628ae3c.jpg,daisy
gs://automlvision01-vcm/img/flower_photos/daisy/1031799732_e7f4008c03.jpg,daisy
gs://automlvision01-vcm/img/flower_photos/daisy/10391248763_1d16681106_n.jpg,daisy
gs://automlvision01-vcm/img/flower_photos/daisy/10437754174_22ec990b77_m.jpg,daisy
gs://automlvision01-vcm/img/flower_photos/daisy/10437770546_8bb6f7bdd3_m.jpg,daisy
ローカルファイルをクラウドに持っていきます。
gsutil cp all_data.csv gs://${BUCKET}/csv/
6. データセットの作成
Auto ML Visionにアクセスします。上の"NEW DATASET"というボタンを押します。
「Dataset name」を"test"とします。
「Import images」で「Select a CSV file on Cloud Storage」を選択してストレージのパス"gs://automlvision01-vcm/csv/all_data.csv"を入力し、「CREATE DATASET」ボタンを押します。5分くらいかかります。
以下の警告が出ましたが無視しました。
Dataset is not multilabel but more than one label assigned to gs://automlvision01-vcm/img/flower_photos/tulips/15922772266_1167a06620.jpg
Duplicated files detected gs://automlvision01-vcm/img/flower_photos/sunflowers/15066430311_fb57fa92b0_m.jpg and gs://automlvision01-vcm/img/flower_photos/sunflowers/14889392928_9742aed45b_m.jpg have the same content
Duplicated files detected gs://automlvision01-vcm/img/flower_photos/sunflowers/15072973261_73e2912ef2_n.jpg and gs://automlvision01-vcm/img/flower_photos/sunflowers/15069459615_7e0fd61914_n.jpg have the same content
下図のイメージでラベルごとに画像が見られます。いいUIだ・・・
7. モデルのトレーニング
Trainタブで「START TRAINING」ボタンを押します。