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

Platform For AI:画像分類 (トーチ)

最終更新日:Jul 22, 2024

ビジネスに画像分類が含まれる場合は、Platform for AI (PAI) の画像分類 (トーチ) コンポーネントを使用して、推論用の画像分類モデルを構築できます。 このトピックでは、イメージ分類 (トーチ) コンポーネントの設定方法と、コンポーネントの使用方法の例について説明します。

前提条件

OSSが有効化され、Machine Learning StudioはOSSへのアクセスが許可されています。 詳細については、「OSSの有効化」および「Machine Learning Designerの使用に必要な権限の付与」をご参照ください。

制限事項

  • ポーズ検出コンポーネントは、Machine Learning Platform for AI (PAI) のMachine Learning Designerでのみ使用できます。

  • ポーズ検出コンポーネントは、PAIのディープラーニングコンテナ (DLC) のコンピューティングリソースでのみ使用できます。

背景情報

画像分類 (トーチ) コンポーネントは、畳み込みニューラルネットワーク (CNN) およびトランスフォーマモデルタイプを提供し、ResNet、ResNeXt、HRNet、ViT、SwinT、およびMobileNet-v2アルゴリズムをサポートします。 コンポーネントは、モデルチューニングを容易にするために、事前トレーニングされたImageNetモデルも提供します。

画像分類 (トーチ) コンポーネントは、コンポーネントライブラリの [ビデオアルゴリズム] フォルダーの [オフライントレーニング] サブフォルダーにあります。

PAIコンソールでコンポーネントを設定する

  • 入力ポート

    入力ポート (左から右へ)

    データ型

    推奨上流コンポーネント

    必須

    トレーニングのデータ注釈パス

    OSS

    ファイルデータの読み取り

    不可

    評価のためのデータ注釈パス

    OSS

    ファイルデータの読み取り

    不可

  • コンポーネントパラメータ

    タブ

    パラメーター

    必須

    説明

    デフォルト値

    フィールド設定

    モデルタイプ

    モデルトレーニングに使用されるモデルタイプ。 分類のみがサポートされています。

    Classification

    oss dir to save model

    トレーニングモデルが保存されているObject Storage Service (OSS) ディレクトリ。 例: oss:// examplebucket/yunji.cjy/designer_test

    N/A

    oss注釈パスのトレーニングデータ

    不可

    トレーニング入力ポートのデータ注釈パスを使用してラベル付きトレーニングデータを指定しなかった場合、このパラメーターを設定する必要があります。

    説明

    入力ポートとこのパラメーターの両方を使用してラベル付きトレーニングデータを指定する場合、入力ポートで指定された値が優先されます。

    ラベル付きトレーニングデータのOSSパス。 例: oss:// examplebucket/yunji.cjy/data/imagenet/meta/train_labeled.txt

    train_labeled.txtファイルの各データレコードは、絶対パス /イメージname.jpg label_id形式で保存されます。

    重要

    image storage pathlabel_idはスペースで区切ります。

    重要

    このコンポーネントは、ClsSourceImageListおよびClsSourceItagの形式をサポートしています。 iTAGでラベル付けされたデータをトレーニング入力として使用できます。

    oss注釈パス評価データ

    不可

    評価入力ポートのデータ注釈パスを使用してラベル付き評価データを指定しなかった場合、このパラメーターを設定する必要があります。

    説明

    入力ポートとこのパラメーターの両方を使用してラベル付き評価データを指定する場合、入力ポートで指定された値が優先されます。

    ラベル付き評価データのOSSパス。 例: oss:// examplebucket/yunji.cjy/data/imagenet/meta/val_labeled.txt

    val_labeled.txtファイルの各データレコードは、絶対パス /イメージname.jpg label_id形式で保存されます。

    重要

    ガスタイルの画像ストレージペースをレベル _ idを分け.

    説明

    このコンポーネントは、ClsSourceImageListおよびClsSourceItagの形式をサポートしています。 iTAGでラベル付けされたデータをトレーニング入力として使用できます。

    N/A

    クラス一覧ファイル

    class list fileパラメーターは、画像カテゴリ名のリストを指定します。 カテゴリ名またはカテゴリ名を格納するTXTファイルのパスを指定できます。

    • カテゴリ名を指定する場合は、[name1,name2,……] の形式を使用します。 複数のカテゴリ名はコンマ (,) で区切ります。 例: [0, 1, 2] および [人、犬、猫]

    • TXTファイルのパスを指定する場合は、TXTファイルにカテゴリ名を追加し、同じリージョンのOSSバケットにファイルをアップロードしてから、ファイルのOSSパスを指定します。

      TXTファイル内のカテゴリ名は、コンマ (,) または改行 (\n) で区切ることができます。 例: 0, 1, 2および0, \n 1, \n 2\n

    • このパラメーターを設定しない場合、str(0) からstr(num_classes-1) までのカテゴリ名が使用されます。 num_classesはカテゴリの数を示します。

      画像分類によって生成されるカテゴリの数が3である場合、カテゴリ名は0,1、2である。

    N/A

    データソースタイプ

    入力データのタイプ。 有効な値: ClsSourceImageListおよびClsSourceItag

    ClsSourceItag

    事前トレーニング済みモデルのossパス

    不可

    事前トレーニング済みモデルが保存されているOSSパス。 事前トレーニング済みモデルがある場合は、このパラメーターを事前トレーニング済みモデルのOSSパスに設定します。 このパラメーターを設定しない場合は、PAIが提供するデフォルトの事前トレーニング済みモデルが使用されます。

    N/A

    パラメーター設定

    バックボーン

    使用するバックボーンモデル。 有効な値:

    • resnet

    • resnext

    • hrnet

    • vit

    • swint

    • mobilenetv2

    resnet

    numクラス

    データ内のカテゴリの数。

    N/A

    サイズ変更後の画像サイズ

    画像のサイズを変更する長さと幅。 デフォルトでは、長さと幅は同じです。

    224

    オプティマイザ

    モデルトレーニングの最適化方法。 有効な値:

    • SGD

    • アダム

    SGD

    初期学習率

    初期学習率。

    0.05

    learning rateポリシー

    学習率を調整するために使用されるポリシー。 ステップのみサポートされます。 stepの値は、学習レートが特定のエポックで手動で調整されることを示します。

    step

    lrステップ

    学習レートが調整されるエポック。 複数入力する場合は、カンマ (,) で区切ります。 エポックの数がこのパラメーターで指定された値に達すると、学習率は自動的に90% 減少します。

    例えば、初期学習率は0.1に設定され、エポックの総数は20に設定され、lrステップパラメータは5,10に設定される。 この場合、トレーニングがエポック1〜5であるとき、学習率は0.1である。 トレーニングがエポック6に入ると、学習率は0.01に減衰し、エポック10が終了するまで継続する。 トレーニングがエポック11に入ると、学習率は0.001に減衰し、すべてのエポックの終わりまで続きます。

    [30,60,90]

    列車のバッチサイズ

    トレーニングバッチのサイズ。 値は、1回の反復でモデルトレーニングに使用されるデータサンプルの数を示します。

    2

    evalバッチサイズ

    評価バッチのサイズ。 値は、各反復でモデル評価に使用されるデータサンプルの数を示します。

    2

    総列車エポック

    エポックの総数。 トレーニングのラウンドがすべてのデータサンプルで完了すると、エポックは終了します。 エポックの総数は、データサンプルに対して実施されたトレーニングラウンドの総数を示す。

    1

    チェックポイントエポックを保存

    不可

    チェックポイントが保存される頻度。 たとえば、値1は、エポックが終了するたびにチェックポイントが保存されることを示します。

    1

    チューニング

    数プロセスの読み取りデータあたりgpu

    不可

    各GPUのトレーニングデータの読み取りに使用されるスレッドの数。

    4

    使用fp 16

    不可

    モデルトレーニング中のメモリ使用量を減らすためにFP16を有効にするかどうかを指定します。

    N/A

    シングルワーカーまたは分散DLC

    コンポーネントの実行に使用される計算エンジン。 ビジネス要件に基づいて計算エンジンを選択できます。 有効な値:

    • single_on_dlc

    • distribute_on_dlc

    single_on_dlc

    数のワーカー

    不可

    このパラメーターは、単一のワーカーまたはDLCで配布パラメーターをdistribute_on_dlcに設定する場合に必要です。

    コンピューティングの同時ワーカーの数。

    1

    cpuマシンタイプ

    不可

    このパラメーターは、単一のワーカーまたはDLCで配布パラメーターをdistribute_on_dlcに設定した場合にのみ必要です。

    使用するCPUタイプ。

    16vCPU + 64GB Mem-ecs.g6.4xlarge

    gpuマシンタイプ

    使用するGPUタイプ。

    8vCPU + 60GB Mem + 1xp100-ecs.gn5-c8g1.2xlarge

  • 出力ポート

    出力ポート

    データ型

    下流コンポーネント

    出力モデル

    出力モデルが保存されているOSSディレクトリ。 この値は、[フィールド設定] タブで [oss dir to save model] パラメーターに指定した値と同じです。

    イメージ予測

次の図は、イメージ分類 (トーチ) コンポーネントが使用されるサンプルパイプラインを示しています。 工作流この例では、次の手順を実行して、前の図のコンポーネントを構成します。

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

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

    重要

    データソースタイプパラメーターをClsSourceItagに設定します。

  3. 前の2つのコンポーネントからimage classification (torch)-1コンポーネントに線を引き、image classification (torch)-1コンポーネントを設定します。 詳細については、このトピックの「Machine Learning Designerでコンポーネントを構成する」を参照してください。

  4. [ファイルデータの読み取り]-3コンポーネントを使用して、予測データを読み取ります。 これを行うには、Read File Data-3コンポーネントのOSS Data Pathパラメーターを、取得する予測データのOSSパスに設定します。

  5. 画像予測-1コンポーネントを使用して、バッチ推論を実行します。 これを行うには、画像予測1コンポーネントに次のパラメータを設定します。 詳細については、「画像予測」をご参照ください。

    • モデルタイプ: torch_classifierを選択します。

    • oss path for model: image classification (torch)-1コンポーネントのモデルパラメータを保存するには、oss dirに指定した値を選択します。