見出し画像

娘とVertex AIで作る「おりがみ折り筋分類モデル」 モデル作成編

データ作成編からの続きです。


これ以降の作業はお金かかります!

モデル作成以降の作業に対してお金がかかります。試してみる方、ご注意ください。

トレーニング: 8ノード時間(実時間1時間48分) - 3900円(税別)
デプロイ: 10時間ぐらい - 1865円(税別)

デプロイはできたモデルを実際に使える状態にすることです。モデルを試したあとデプロイはいつでも解除、再実行できます。今回、解除を忘れてしまって費用がかさんでしまいました。

データセットを作る

学習に使う画像データのアップロードとラベル付けを行います。
[画像分類(単一ラベル)]のデータセットを作ります。

手順は以下のドキュメントを見てください。

引っかかったポイントを解説します。

データはCloud Strage 上に置く

学習データはCloud Strage 上に置かれたものが利用されます。まずCloud Strage のコンソールから画像データをアップロードしてしまいましょう。

画像パスとラベルを対応させたcsvファイルを生成

[Cloud Storage 上のパス],[ラベル] を1行としたcsvファイルを生成して、これもCloud Strageにアップロードします。

gs://xxx/000_airplane_1.jpg,airplane
gs://xxx/090_airplane_1.jpg,airplane
gs://xxx/180_airplane_1.jpg,airplane
gs://xxx/270_airplane_1.jpg,airplane

csvファイルの生成のときに、画像ファイル名にラベルを含めたことが生きてきます。

import os
import csv

def create_csv(data, output_path):
    with open(output_path, 'w', newline='') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerows(data)

if __name__ == "__main__":
    # 処理した画像ファイルが保存されているフォルダ
    output_folder = "/content/drive/MyDrive/origamiDB/output"
    # ラベルファイル 
    csv_output_path = "/content/drive/MyDrive/origamiDB/labels.csv"
    #Cloud Storage パス
    gs_upload_path = "gs://xxx/" 
    data = []

    for filename in os.listdir(output_folder):
        parts = filename.split("_")  # ファイル名を "_" で分割
        label = parts[-2]
        upload_path = gs_upload_path + filename
        data.append([upload_path, label])

    create_csv(data, csv_output_path)

最終的に Cloud Strage コンソール上では以下のような感じになります。赤丸は上から[Cloud Storage 上のパス][画像ファイル][ラベルファイル]です。

Cloud Strage コンソール

ここまでできたらVertex AI のコンソールに戻ってデータセットへラベルファイルをつかって画像を追加します。インポート完了まで5分程度かかりました。完了後、メールが届きました。

インポートファイルからのデータセット作成

これでラベル付けの終わったデータセットが完成します。

ラベル付けが済んだデータセット

モデルのトレーニング

いよいよトレーニングです。手順は以下を見てください。

トレーニング方法としてAutoMLを指定、その他のオプションもデフォルトのままでOKです。予算の項目で8ノード時間としますが、処理に実際1時間48分かかりました。トレーニング終了はメールで知らせが届きます。

これでモデルの完成です。

エンドポイントのデプロイ

モデルが完成したので実際に使えるようにします。
詳しくは以下を見てください。

オプションはデフォルトで問題ないですが、[コンピューティング ノードの数] は最小の1でOKです。ノード数に応じて課金されます。

デプロイは時間課金されます。利用する直前にデプロイし、終われば解除するようにしてください。デプロイ完了まで15分ぐらいかかりました。完了はメールで通知が来ます。

これでモデルは完成し使えるようになりました。
次回、実際に使ってみましょう!

この記事が気に入ったらサポートをしてみませんか?