🐶

Vertex AIにラベル付していない画像をインポートする【Python】【備忘録】

2021/10/19に公開約1,500字

概要

API越しで、ラベル付されていない画像をインポートする方法の備忘録です。前提として、画像はGoogle Storageにある必要があります。画像の場合、多くの場合人の目で見てラベル付けをしたいと思う(少なくとも自分はそうです)のですが、ラベル付けしていない画像をAPI越しにインポートする方法がガイドになかったため記します。

サンプルコード

from google.cloud import aiplatform

project_id = "" # プロジェクトID
dataset_name = "" # Vertex AIのデータセット
location = "" # Vertex AIの上記データセットのロケーション設定

gs_srcs = [
    "gs//<bucket_name>/<file_name>",
    "gs//<bucket_name>/<file_name>",
] # インポートするファイル
ds = aiplatform.ImageDataset(
    dataset_name=dataset_name, project=project_id, location=location
)

# import_schema_uriはアノテーションのタイプです。
# aiplatform.schema.dataset.ioformat.image.single_label_classificationを指定すると単一指定のクラス分類だと思います(試してません)
# open api準拠のyamlファイルを指定できます。詳しいことは分かりませんが、参考の「マネージド データセットを使用する」にリンクがあります(下図を参照)。本来はこちらの方が正しいやり方のような感じがします。
ds.import_data(
    gcs_source=gs_srcs, 
    import_schema_uri=aiplatform.schema.dataset.ioformat.image.bounding_box, 
    sync=False
)

おわりに

GoogleのAutoMLは日本語の資料が公式にしかない上、ガイドに書かれていないことをやろうとすると少し手間取る気がする。個人的事情として、ラベル付けは人がやるにしてもインポートまでは自動化したかったため、調査しました。誰かに教えてほしい。

参考

Discussion

ログインするとコメントできます