オブジェクト検出 - TensorFlow アルゴリズムの入出力インターフェイス - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

オブジェクト検出 - TensorFlow アルゴリズムの入出力インターフェイス

TensorFlow Models にリストされている事前トレーニング済みモデルはそれぞれ、任意の数のイメージクラスを持つ任意のデータセットに微調整できます。オブジェクト検出 TensorFlow モデルへの入力用にトレーニングデータをフォーマットする方法に注意してください。

  • トレーニングデータ入力形式: トレーニングデータは、images サブディレクトリと annotations.json ファイルを含むディレクトリでなければなりません。

入力のディレクトリ構造の例を次に示します。入力ディレクトリは、次のようなパスの Amazon S3 バケットでホストされている必要があります。s3://bucket_name/input_directory/末尾の / は必須であることに注意してください。

input_directory |--images |--abc.png |--def.png |--annotations.json

annotations.json ファイルには、境界ボックスとそのクラスラベルに関する情報がディクショナリと "images" および "annotations"キーの形式で含まれている必要があります。"images" キーの値はディクショナリのリストである必要があります。画像ごとに以下の情報を含むディクショナリが 1 つある必要があります。{"file_name": image_name, "height": height, "width": width, "id": image_id}"annotations" キーの値もディクショナリのリストである必要があります。境界ボックスごとに、以下の情報を含む辞書が 1 つある必要があります。{"image_id": image_id, "bbox": [xmin, ymin, xmax, ymax], "category_id": bbox_label}

トレーニング後、ラベルマッピングファイルとトレーニング済みモデルが Amazon S3 バケットに保存されます。

段階的トレーニング

新しいモデルのトレーニングには、以前に でトレーニングしたモデルのアーティファクトをシードできます SageMaker。段階的トレーニングでは、同じモデルまたは類似のデータを使用して新しいモデルをトレーニングする際のトレーニング時間が短縮されます。

注記

SageMaker オブジェクト検出 TensorFlow モデルをシードできるのは、 でトレーニングされた別のオブジェクト検出 TensorFlow モデルのみです SageMaker。

一連のクラスが同じままである限り、任意のデータセットを段階的トレーニングに使用できます。段階的トレーニングのステップは微調整のステップと同様ですが、事前トレーニング済みモデルから始める代わりに、既存の微調整済みモデルから始めます。 SageMaker オブジェクト検出 - でインクリメンタルトレーニングを使用する方法の詳細については TensorFlow、 SageMaker TensorFlow 「オブジェクト検出ノートブックの概要」を参照してください。

オブジェクト検出 - TensorFlow アルゴリズムによる推論

推論のための TensorFlow オブジェクト検出トレーニングから生じる微調整されたモデルをホストできます。推論用の入力画像はすべて .jpgjpeg、または .png 形式で、コンテンツタイプ application/x-image である必要があります。オブジェクト検出 - TensorFlow アルゴリズムは、入力イメージを自動的にサイズ変更します。

推論を実行すると、境界ボックス、予測クラス、および JSON 形式でエンコードされた各予測のスコアになります。オブジェクト検出 - TensorFlow モデルは、リクエストごとに 1 つのイメージを処理し、1 行のみを出力します。JSON 形式レスポンスの例を次に示します。

accept: application/json;verbose {"normalized_boxes":[[xmin1, xmax1, ymin1, ymax1],....], "classes":[classidx1, class_idx2,...], "scores":[score_1, score_2,...], "labels": [label1, label2, ...], "tensorflow_model_output":<original output of the model>}

acceptapplication/json に設定されている場合、モデルは正規化されたボックス、クラス、スコアのみを出力します。