ビジネスに画像分類が含まれる場合は、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 pathとlabel_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] パラメーターに指定した値と同じです。
例
次の図は、イメージ分類 (トーチ) コンポーネントが使用されるサンプルパイプラインを示しています。 この例では、次の手順を実行して、前の図のコンポーネントを構成します。
データを準備します。 iTAGを使用して画像にラベルを付ける。 詳細については、次をご参照ください: iTAGを使用します。
[Read File Data-1] および [Read File Data-2] コンポーネントを使用して、ラベル付きトレーニングデータおよびラベル付き評価データを読み取ります。 これを行うには、これらのコンポーネントのOSSデータパスパラメーターを、取得するデータのOSSパスに設定します。
重要データソースタイプパラメーターをClsSourceItagに設定します。
前の2つのコンポーネントからimage classification (torch)-1コンポーネントに線を引き、image classification (torch)-1コンポーネントを設定します。 詳細については、このトピックの「Machine Learning Designerでコンポーネントを構成する」を参照してください。
[ファイルデータの読み取り]-3コンポーネントを使用して、予測データを読み取ります。 これを行うには、Read File Data-3コンポーネントのOSS Data Pathパラメーターを、取得する予測データのOSSパスに設定します。
画像予測-1コンポーネントを使用して、バッチ推論を実行します。 これを行うには、画像予測1コンポーネントに次のパラメータを設定します。 詳細については、「画像予測」をご参照ください。
モデルタイプ: torch_classifierを選択します。
oss path for model: image classification (torch)-1コンポーネントのモデルパラメータを保存するには、oss dirに指定した値を選択します。