翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
モデルトレーニングのトラブルシューティング
マニフェストファイルまたはトレーニング画像に問題があると、モデルトレーニングが失敗する可能性があります。モデルを再トレーニングする前に、次の潜在的な問題を確認してください。
異常ラベルの色がマスク画像の異常の色と一致しない
画像セグメンテーションモデルをトレーニングする場合、マニフェストファイルの異常ラベルの色はマスク画像の色と一致する必要があります。マニフェストファイル内の画像の JSON 行には、どの色が異常ラベルに対応するかをAmazon Lookout for Visionに伝えるメタデータ (internal-color-map
) が含まれています。たとえば、次の JSONscratch
行の異常ラベルの色はです#2ca02c
。
{ "source-ref": "s3://
path-to-image
", "anomaly-label
": 1, "anomaly-label
-metadata": { "class-name": "anomaly
", "creation-date": "2021-10-12T14:16:45.668
", "human-annotated": "yes
", "job-name": "labeling-job/classification-job
", "type": "groundtruth/image-classification", "confidence":1
}, "anomaly-mask
-ref": "s3://path-to-image
", "anomaly-mask
-ref-metadata": { "internal-color-map": { "0": { "class-name": "BACKGROUND", "hex-color": "#ffffff", "confidence": 0.0 }, "1
": { "class-name": "scratch
", "hex-color": "#2ca02c
", "confidence":0.0
}, "2
": { "class-name": "dent
", "hex-color": "#1f77b4
", "confidence":0.0
} }, "type": "groundtruth/semantic-segmentation", "human-annotated": "yes
", "creation-date": "2021-11-23T20:31:57.758889
", "job-name": "labeling-job/segmentation-job
" } }
マスク画像の色が内の値と一致しない場合hex-color
、トレーニングは失敗し、マニフェストファイルを更新する必要があります。
マニフェストファイルのカラー値を更新するには
-
テキストエディタを使用して、データセットの作成に使用したマニフェストファイルを開きます。
-
JSON 行 (画像) ごとに、
internal-color-map
フィールド内の色 (hex-color
) がマスク画像の異常ラベルの色と一致することを確認します。
マスク画像の位置はフィールドから取得できます。画像をコンピューターにダウンロードし、次のコードを使用して画像の色を取得します。anomaly-mask
-reffrom PIL import Image img = Image.open('
path to local copy of mask file
') colors = img.convert('RGB').getcolors() #this converts the mode to RGB for color in colors: print('#%02x%02x%02x' % color[1]) -
色の割り当てが正しくない各画像について、その画像の JSON
hex-color
行のフィールドを更新します。 -
更新マニフェストファイルを保存します。
-
更新されたマニフェストファイルを使用して、プロジェクトに新しいデータセットを作成します。
または、ステップ 5 と 6 では、UpdateDatasetEntriesオペレーションを呼び出し、更新する画像の更新された JSON 行を指定することで、データセット内の個々の画像を更新できます。サンプルコードについては、「画像をさらに追加する (SDK)」を参照してください。
マスク画像が PNG 形式ではない
画像セグメンテーションモデルをトレーニングする場合、マスク画像は PNG 形式である必要があります。マニフェストファイルからデータセットを作成する場合は、参照するマスク画像が PNG
形式であることを確認してください。マスク画像が PNG 形式でない場合は、それらを PNG 形式に変換する必要があります。イメージファイルの拡張子をに変更するだけでは不十分ですanomaly-mask
-ref.png
。
Amazon Lookout for Vision SageMaker コンソールまたはGround Truth ルースジョブを使用して作成したマスク画像は PNG 形式で作成されます。これらの画像の形式を変更する必要はありません。
マニフェストファイル内の非 PNG 形式のマスクイメージを修正するには
テキストエディタを使用して、データセットの作成に使用したマニフェストファイルを開きます。
JSON 行 (画像) ごとに、画像が PNG
形式の画像を参照していることを確認してください。詳細については、「マニフェストファイルの作成」を参照してください。anomaly-mask
-ref更新したマニフェストファイルを保存します。
更新されたマニフェストファイルを使用して、プロジェクトに新しいデータセットを作成します。
セグメンテーションまたは分類ラベルが不正確または欠落している
ラベルがないか正確でないと、トレーニングが失敗したり、パフォーマンスが低下するモデルが作成されることがあります。データセット内のすべての画像にラベルを付けることをお勧めします。すべての画像にラベルを付けていないためにモデルトレーニングが失敗したり、モデルのパフォーマンスが低下したりする場合は、画像を追加してください。
以下をチェックしてください。
-
セグメンテーションモデルを作成する場合、マスクはデータセット画像の異常を厳密にカバーする必要があります。データセットのマスクを確認するには、プロジェクトのデータセットギャラリーで画像を表示します。必要に応じて、イメージマスクを再描画してください。詳細については、「画像のセグメンテーション (コンソール)」を参照してください。
-
データセット画像内の異常画像が分類されていることを確認してください。画像セグメンテーションモデルを作成する場合は、異常画像に異常ラベルと画像マスクが含まれていることを確認してください。
作成するモデルのタイプ (セグメンテーションまたは分類) を覚えておくことが重要です。分類モデルでは、異常な画像に画像マスクは必要ありません。分類モデル用のデータセット画像にはマスクを追加しないでください。
見つからないラベルを更新するには
-
ラベルのない画像をフィルタリングして、ラベルのない画像を確認します。
-
次のいずれかを実行します。
画像分類モデルを作成する場合は、ラベルのない各画像を分類します。
画像セグメンテーションモデルを作成する場合は、ラベルのない各画像を分類してセグメント化します。
画像セグメンテーションモデルを作成する場合は、マスクがない分類済みの異常画像にマスクを追加します。
ラベルが不十分または欠落しているラベルを修正しない場合は、ラベル付けされた画像をさらに追加するか、影響を受ける画像をデータセットから削除することをお勧めします。コンソールから、UpdateDatasetEntriesまたは操作を使用してさらに追加できます。詳細については、「データセットへの画像の追加」を参照してください。
画像を削除する場合、データセットから画像を削除することはできないため、影響を受ける画像なしでデータセットを再作成する必要があります。詳細については、データセットから画像を削除するを参照してください。