ビジネスにメトリック学習が含まれている場合は、Platform for AI (PAI) の画像メトリック学習 (raw) コンポーネントを使用して、推論用のメトリック学習モデルを構築できます。 このトピックでは、画像メトリック学習 (生) コンポーネントの設定方法と、コンポーネントの使用方法の例について説明します。
前提条件
OSSが有効化され、Machine Learning StudioはOSSへのアクセスが許可されています。 詳細については、「OSSの有効化」および「Machine Learning Designerの使用に必要な権限の付与」をご参照ください。
制限事項
画像メトリック学習 (raw) コンポーネントは、ディープラーニングコンテナ (DLC) のコンピューティングリソースで使用できます。
概要
画像メトリック学習 (raw) コンポーネントは、ResNet50、ResNet18、ResNet34、ResNet101、swint_tiny、swint_small、swint_base、vit_tiny、vit_small、vit_base、xcit_tiny、xcit_small、およびxcit_baseなどの主流モデルを提供する。
PAIコンソールでコンポーネントを設定する
入力ポート
入力ポート (左から右へ)
データ型
推奨上流コンポーネント
必須
トレーニングのデータ注釈パス
OSS
不可
評価のためのデータ注釈パス
OSS
不可
コンポーネントパラメータ
タブ
パラメーター
必須
説明
デフォルト値
フィールド設定
モデルタイプ
可
トレーニングに使用されるモデルタイプ。 有効な値:
DataParallelMetricLearning
ModelParallelMetricLearning
DataParallelMetricLearning
oss dir to save model
可
トレーニングモデルが保存されているObject Storage Service (OSS) ディレクトリ。 例:
oss:// examplebucket/yun ****/designer_test
None
oss注釈パスのトレーニングデータ
不可
入力ポートを使用してラベル付きトレーニングデータを指定しない場合は、このパラメーターを設定する必要があります。
説明入力ポートとこのパラメーターの両方を使用してラベル付きトレーニングデータを指定する場合、入力ポートで指定された値が優先されます。
ラベル付きトレーニングデータが保存されるOSSパス。 例:
oss:// examplebucket/yun ****/data/imagenet/meta/train_labeled.txt
train_labeled.txtファイルの各データレコードは
absolute path/image name.jpg label_id
形式で保存されます。重要image storage pathとlabel_idはスペースで区切られています。
None
oss注釈パス評価データ
不可
評価入力ポートのデータ注釈パスを使用してラベル付き評価データを指定しない場合は、このパラメーターを設定する必要があります。
説明入力ポートとこのパラメーターの両方を使用してラベル付き評価データを指定する場合、入力ポートで指定された値が優先されます。
ラベル付き評価データが保存されるOSSパス。 例:
oss:// examplebucket/yun ****/data/imagenet/meta/val_labeled.txt
val_labeled.txtファイルの各データレコードは、
absolute path/image name.jpg label_id
形式で保存されます。重要image storage pathとlabel_idはスペースで区切られています。
None
クラス一覧ファイル
不可
クラス名を指定するか、クラス名を含むTXTファイルが配置されているOSSパスにパラメーターを設定できます。
None
データソースタイプ
可
入力データのタイプ。 有効な値: ClsSourceImageListおよびClsSourceItag。
ClsSourceImageList
事前トレーニング済みモデルのossパス
不可
事前トレーニング済みモデルのOSSパス。 事前トレーニング済みモデルがある場合は、このパラメーターを事前トレーニング済みモデルのOSSパスに設定します。 このパラメーターを設定しない場合は、PAIが提供するデフォルトの事前トレーニング済みモデルが使用されます。
None
パラメーター設定
バックボーン
可
使用するバックボーンモデル。 有効な値:
resnet_50
resnet_18
resnet_34
resnet_101
swin_transformer_tiny
swin_transformer_small
swin_transformer_base
resnet50
サイズ変更後の画像サイズ
可
サイズ変更された画像のサイズ。 単位: ピクセル。
224
バックボーン出力チャネル
可
主流モデルによってエクスポートされたフィーチャ寸法。 値は整数でなければなりません。
2048
バックボーン出力チャネル
可
ネックによってエクスポートされたフィーチャの寸法。 値は整数でなければなりません。
1536
トレーニングデータ分類ラベル範囲
可
出力データのディメンション数。
None
メトリック損失
可
損失関数は、トレーニングモデルによって予測された値と実際の値との間の不一致の程度を評価する。 イベントのスコープ。 有効な値:
AMSoftmax推奨マージン0.4スケール30
ArcFaceLoss推奨マージン28.6スケール64
CosFaceLoss推奨マージン0.35スケール64
LargeMarginSoftmaxLoss推奨マージン4スケール1
SphereFaceLoss推奨マージン4スケール1
ModelParallel AMSoftmax
ModelParallel Softmax
AMSoftmaxはマージン0.4スケール30を推奨
メトリック学習損失スケールパラメータ
可
損失関数に使用するスケール。 選択した損失関数に基づいて、このパラメーターを設定します。
有効期限の 30
メトリック学習損失マージンパラメータ
可
損失関数に使用するマージン。 選択した損失関数に基づいて、このパラメーターを設定します。
0.4
メトリック学習損失重量ですべての損失
不可
損失関数に使用する重み。メトリック学習と分類モデルの最適化比率を示します。
1.0
オプティマイザ
可
モデルトレーニングの最適化方法。 有効な値:
SGD
アダム
SGD
初期学習率
可
初期学習率。 値は浮動小数点数です。
0.03
バッチサイズ
可
トレーニングバッチのサイズ。各反復でモデルトレーニングに使用されるデータサンプルの数を示します。
None
総列車エポック
可
エポックの総数。 トレーニングのラウンドがすべてのデータサンプルで完了すると、エポックは終了します。 エポックの総数は、データサンプルに対して実施されたトレーニングラウンドの総数を示す。
200
チェックポイントエポックを保存
不可
チェックポイントが保存される頻度。 値1は、エポックが終了するたびにチェックポイントが保存されることを示します。
10
実行チューニング
ioスレッドnum for training。
不可
トレーニングデータの読み取りに使用されるスレッドの数。
4
使用fp 16
不可
モデルトレーニング中のメモリ使用量を減らすためにFP16を有効にするかどうかを指定します。
None
単一のワーカーまたはMaxComputeまたはDLCに分散
可
コンポーネントの実行に使用される計算エンジン。 ビジネス要件に基づいて計算エンジンを選択できます。 有効な値:
single_on_dlc
distribute_on_dlc
single_on_dlc
数のワーカー
不可
単一のワーカーにdistribute_on_dlcを選択した場合、またはMaxComputeまたはDLCパラメーターに分散した場合、このパラメーターを設定します。
コンピューティングで使用される同時ワーカーの数。
1
gpuマシンタイプ
可
使用するGPU仕様。
8vCPU + 60GB Mem + 1xp100-ecs.gn5-c8g1.2xlarge
例
次の図は、画像メトリック学習 (生) コンポーネントが使用されるサンプルパイプラインを示しています。 この例では、次の手順を実行して、前の図のコンポーネントを構成します。
データを準備します。 PAIが提供するiTAGを使用して画像にラベルを付ける。 詳細については、次をご参照ください: iTAGを使用します。
[Read File Data-4] および [Read File Data-5] コンポーネントを使用して、ラベル付きトレーニングデータおよびラベル付き評価データを読み取ります。 データを読み取るには、各コンポーネントのOSSデータパスパラメーターを、取得するデータが保存されているOSSパスに設定します。
前の2つのコンポーネントからimage metric learning (raw) コンポーネントに線を引き、image metric learning (raw) コンポーネントのパラメーターを設定します。 詳細については、このトピックの「PAIコンソールでコンポーネントを構成する」セクションをご参照ください。