すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:画像メトリック学習 (生)

最終更新日:Aug 15, 2024

ビジネスにメトリック学習が含まれている場合は、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 pathlabel_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 pathlabel_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

次の図は、画像メトリック学習 (生) コンポーネントが使用されるサンプルパイプラインを示しています。 工作流この例では、次の手順を実行して、前の図のコンポーネントを構成します。

  1. データを準備します。 PAIが提供するiTAGを使用して画像にラベルを付ける。 詳細については、次をご参照ください: iTAGを使用します。

  2. [Read File Data-4] および [Read File Data-5] コンポーネントを使用して、ラベル付きトレーニングデータおよびラベル付き評価データを読み取ります。 データを読み取るには、各コンポーネントのOSSデータパスパラメーターを、取得するデータが保存されているOSSパスに設定します。

  3. 前の2つのコンポーネントからimage metric learning (raw) コンポーネントに線を引き、image metric learning (raw) コンポーネントのパラメーターを設定します。 詳細については、このトピックの「PAIコンソールでコンポーネントを構成する」セクションをご参照ください。