EasyVision of Machine Learning Platform for AIを使用すると、マルチラベル画像分類のモデルトレーニングと予測を実行できます。 さらに、EasyVisionを使用して、複数のサーバーで分散トレーニングと予測を実行できます。 このトピックでは、EasyVisionを使用して、既存のトレーニングモデルに基づくマルチラベル画像分類でオフライン予測を実現する方法について説明します。
データフォーマット
詳細については、「入力データ形式」をご参照ください。
マルチラベル画像分類におけるオフライン予測
次のMachine Learning Platform for AIコマンドを実行して、既存のファイルに基づいてオフラインイメージのラベル付けを開始できます。SQL Scriptコンポーネント、MaxComputeクライアント、またはDataWorksのODPS SQLノードを使用してPAIコマンドを呼び出すことができます。 詳細については、「MaxComputeクライアント (odpscmd) 」または「MaxCompute SQLタスクの開発」をご参照ください。
pai -name ev_predict_ext
-Dmodel_path='OSS path of your model'
-Dmodel_type='multilabel_classifier'
-Dinput_oss_file='oss://path/to/your/filelist.txt'
-Doutput_oss_file='oss://path/to/your/result.txt'
-Dimage_type='url'
-Dnum_worker=2
-DcpuRequired=800
-DgpuRequired=100
-Dbuckets='Your OSS directory'
-Darn='Alibaba Cloud Resource Name (ARN) of the role that you are assuming'
-DossHost='Your OSS domain'詳細については、「パラメーター」をご参照ください。
Output
予測結果は出力ファイルに書き込まれます。 ファイルの各エントリは、Object Storage Service (OSS) パスと予測結果で構成されます。 OSSパスは、元の画像のパスを示します。 たとえば、出力ファイルには次の情報が含まれています。
oss://path/to/your/image1.jpg, { "class_probs":{ "Sketch":0.0008051558979786932, "Life moment":0.7316102385520935 "Accessory":0.0008112151990644634, "Dancing":0.0008053297060541809 }, "classes":[ 1 ], "predictions":[ false, true, false, false ], "class_names":[ "Life moment" ], "probs":[ 0.00054657127475366, 0.7316212648051790893, 0.0005365353426896036, 0.0007256706594489515 ] }
oss://path/to/your/image1.jpg, { "class_probs":{ "Sketch":0.0008051558979786932, "Life moment":0.7316102385520935 "Accessory":0.0008112151990644634, "Dancing":0.0008053297060541809 }, "classes":[ 1 ], "predictions":[ false, true, false, false ], "class_names":[ "Life moment" ], "probs":[ 0.00054657127475366, 0.7316212648051790893, 0.0005365353426896036, 0.0007256706594489515 ] }
oss://path/to/your/image1.jpg, { "class_probs":{ "Sketch":0.0008051558979786932, "Life moment":0.7316102385520935 "Accessory":0.0008112151990644634, "Dancing":0.0008053297060541809 }, "classes":[ 1 ], "predictions":[ false, true, false, false ], "class_names":[ "Life moment" ], "probs":[ 0.00054657127475366, 0.7316212648051790893, 0.0005365353426896036, 0.0007256706594489515 ] }予測結果はJSON文字列で表示されます。 次の表に、JSON文字列のパラメーターを示します。
パラメーター | 説明 | 形状 | データ型 |
クラス | ラベルのID。 | [num_labels] | INT Array |
class_names | ラベルの名前。 | [num_labels] | STRING Array |
class_probs | すべてのラベルの確率。 | [total_labels] | Dict{Key:STRING,Value:FLOAT} |