

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

# オブジェクト検出 - TensorFlow
<a name="object-detection-tensorflow"></a>

Amazon SageMaker AI オブジェクト検出 - TensorFlow アルゴリズムは、[TensorFlow モデルガーデン](https://github.com/tensorflow/models)の多くの事前トレーニング済みモデルによる転移学習をサポートする教師あり学習アルゴリズムです。大量の画像データが使用可能でない場合でも、転移学習を使用して、使用可能な事前トレーニング済みモデルのいずれかを独自のデータセットで微調整できます。オブジェクト検出アルゴリズムは画像を入力として受け取り、境界ボックスのリストを出力します。トレーニングデータセットは `jpg`、`.jpeg`、または `.png` フォーマット内の画像で構成されている必要があります。。このページには、オブジェクト検出 - TensorFlow の Amazon EC2 インスタンスに関する推奨事項とサンプルノートブックについての情報が含まれています。

**Topics**
+ [SageMaker AI オブジェクト検出 - TensorFlow アルゴリズムの使用方法](object-detection-tensorflow-how-to-use.md)
+ [オブジェクト検出 - TensorFlow アルゴリズムの入出力インターフェイス](object-detection-tensorflow-inputoutput.md)
+ [オブジェクト検出 - TensorFlow アルゴリズムの Amazon EC2 インスタンスに関する推奨事項](#object-detection-tensorflow-instances)
+ [オブジェクト検出 - TensorFlow サンプルノートブック](#object-detection-tensorflow-sample-notebooks)
+ [オブジェクト検出 - TensorFlow の仕組み](object-detection-tensorflow-HowItWorks.md)
+ [TensorFlow モデル](object-detection-tensorflow-Models.md)
+ [オブジェクト検出 - TensorFlow ハイパーパラメータ](object-detection-tensorflow-Hyperparameter.md)
+ [オブジェクト検出 - TensorFlow モデルを調整する](object-detection-tensorflow-tuning.md)

# SageMaker AI オブジェクト検出 - TensorFlow アルゴリズムの使用方法
<a name="object-detection-tensorflow-how-to-use"></a>

オブジェクト検出 - TensorFlow は Amazon SageMaker AI の組み込みアルゴリズムとして使用できます。次のセクションでは、SageMaker AI Python SDK でオブジェクト検出 - TensorFlow を使用する方法について説明します。Amazon SageMaker Studio Classic UI からオブジェクト検出 - TensorFlow を使用する方法については、「[SageMaker JumpStart の事前トレーニング済みモデル](studio-jumpstart.md)」を参照してください。

オブジェクト検出 - TensorFlow アルゴリズムは、互換性のある事前トレーニング済みの TensorFlow モデルのいずれかを使用した転移学習をサポートします。使用可能なすべての事前トレーニング済みモデルのリストについては、「[TensorFlow モデル](object-detection-tensorflow-Models.md)」を参照してください。事前トレーニング済みのモデルにはそれぞれ一意の `model_id` があります。次の例では、ResNet50 (`model_id`: `tensorflow-od1-ssd-resnet50-v1-fpn-640x640-coco17-tpu-8`) を使用してカスタムデータセットを微調整しています。事前トレーニング済みモデルはすべて TensorFlow ハブから事前にダウンロードされ、Amazon S3 バケットに保存されているため、トレーニングジョブはネットワーク分離状態で実行できます。事前に生成されたこれらのモデルトレーニングアーティファクトを使用して SageMaker AI 推定器を構築します。

まず、Docker イメージ URI、トレーニングスクリプト URI、および事前トレーニング済みのモデル URI を取得します。次に、必要に応じてハイパーパラメータを変更します。使用可能なすべてのハイパーパラメータとそのデフォルト値の Python ディクショナリは、`hyperparameters.retrieve_default` で確認できます。詳細については、「[オブジェクト検出 - TensorFlow ハイパーパラメータ](object-detection-tensorflow-Hyperparameter.md)」を参照してください。これらの値を使用して SageMaker AI 推定器を構築します。

**注記**  
デフォルトのハイパーパラメータ値はモデルによって異なります。例えば、モデルが大きくなると、デフォルトのエポック数は小さくなります。

この例では、道を歩く歩行者の画像を含む [https://www.cis.upenn.edu/~jshi/ped_html/#pub1](https://www.cis.upenn.edu/~jshi/ped_html/#pub1) データセットを使用しています。データセットを事前にダウンロードして、Amazon S3 で使用できるようにしてあります。モデルを微調整するには、トレーニングデータセットの Amazon S3 の場所を使用して `.fit` を呼び出します。

```
from sagemaker import image_uris, model_uris, script_uris, hyperparameters
from sagemaker.estimator import Estimator

model_id, model_version = "tensorflow-od1-ssd-resnet50-v1-fpn-640x640-coco17-tpu-8", "*"
training_instance_type = "ml.p3.2xlarge"

# Retrieve the Docker image
train_image_uri = image_uris.retrieve(model_id=model_id,model_version=model_version,image_scope="training",instance_type=training_instance_type,region=None,framework=None)

# Retrieve the training script
train_source_uri = script_uris.retrieve(model_id=model_id, model_version=model_version, script_scope="training")

# Retrieve the pretrained model tarball for transfer learning
train_model_uri = model_uris.retrieve(model_id=model_id, model_version=model_version, model_scope="training")

# Retrieve the default hyperparameters for fine-tuning the model
hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version)

# [Optional] Override default hyperparameters with custom values
hyperparameters["epochs"] = "5"

# Sample training data is available in this bucket
training_data_bucket = f"jumpstart-cache-prod-{aws_region}"
training_data_prefix = "training-datasets/PennFudanPed_COCO_format/"

training_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}"

output_bucket = sess.default_bucket()
output_prefix = "jumpstart-example-od-training"
s3_output_location = f"s3://{output_bucket}/{output_prefix}/output"

# Create an Estimator instance
tf_od_estimator = Estimator(
    role=aws_role,
    image_uri=train_image_uri,
    source_dir=train_source_uri,
    model_uri=train_model_uri,
    entry_point="transfer_learning.py",
    instance_count=1,
    instance_type=training_instance_type,
    max_run=360000,
    hyperparameters=hyperparameters,
    output_path=s3_output_location,
)

# Launch a training job
tf_od_estimator.fit({"training": training_dataset_s3_path}, logs=True)
```

SageMaker AI オブジェクト検出 - TensorFlow アルゴリズムを使用してカスタムデータセットの転移学習を行う方法の詳細については、「[Introduction to SageMaker TensorFlow - Object Detection](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/object_detection_tensorflow/Amazon_Tensorflow_Object_Detection.ipynb)」ノートブックを参照してください。

# オブジェクト検出 - TensorFlow アルゴリズムの入出力インターフェイス
<a name="object-detection-tensorflow-inputoutput"></a>

TensorFlow モデルにリストされている事前トレーニング済みの各モデルは、任意の数の画像クラスを持つ任意のデータセットに合わせて微調整できます。オブジェクト検出 - 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 バケットに保存されます。

## 段階的トレーニング
<a name="object-detection-tensorflow-incremental-training"></a>

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

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

一連のクラスが同じままである限り、任意のデータセットを段階的トレーニングに使用できます。段階的トレーニングのステップは微調整のステップと同様ですが、事前トレーニング済みモデルから始める代わりに、既存の微調整済みモデルから始めます。SageMaker AI オブジェクト検出 - TensorFlow で段階的トレーニングを使用する方法の詳細については、「[Introduction to SageMaker TensorFlow - Object Detection](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/object_detection_tensorflow/Amazon_Tensorflow_Object_Detection.ipynb)」ノートブックを参照してください。

## オブジェクト検出 - TensorFlow アルゴリズムによる推論
<a name="object-detection-tensorflow-inference"></a>

TensorFlow オブジェクト検出トレーニングの結果として生じる微調整済みモデルを推論のためにホストすることができます。推論用の入力イメージはすべて `.jpg`、`jpeg`、または `.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>}
```

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

## オブジェクト検出 - TensorFlow アルゴリズムの Amazon EC2 インスタンスに関する推奨事項
<a name="object-detection-tensorflow-instances"></a>

オブジェクト検出 - TensorFlow アルゴリズムは、以下を含むすべての GPU インスタンスをトレーニング用にサポートします。
+ `ml.p2.xlarge`
+ `ml.p2.16xlarge`
+ `ml.p3.2xlarge`
+ `ml.p3.16xlarge`

大きなバッチサイズのトレーニングにはメモリが多い GPU インスタンスを使用することをお勧めします。CPU (M5 など) インスタンスと GPU (P2 または P3) インスタンスの両方を推論に使用できます。 AWS リージョン間の SageMaker トレーニングインスタンスと推論インスタンスの包括的なリストについては、[Amazon SageMakerの料金](https://aws.amazon.com/sagemaker/pricing/)」を参照してください。

## オブジェクト検出 - TensorFlow サンプルノートブック
<a name="object-detection-tensorflow-sample-notebooks"></a>

SageMaker AI オブジェクト検出 - TensorFlow アルゴリズムを使用してカスタムデータセットの転移学習を行う方法の詳細については、「[Introduction to SageMaker TensorFlow - Object Detection](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/object_detection_tensorflow/Amazon_Tensorflow_Object_Detection.ipynb)」ノートブックを参照してください。

SageMaker AI でサンプルを実行するために使用できる Jupyter ノートブックインスタンスを作成してアクセスする方法の詳細については、「[Amazon SageMaker ノートブックインスタンス](nbi.md)」を参照してください。ノートブックインスタンスを作成して開いた後、**[SageMaker AI サンプル]** タブを選択して、すべての SageMaker AI サンプルのリストを表示します。ノートブックを開くには、その [**Use (使用)**] タブを選択し、[**Create copy (コピーを作成)**] を選択します。

# オブジェクト検出 - TensorFlow の仕組み
<a name="object-detection-tensorflow-HowItWorks"></a>

オブジェクト検出 - TensorFlow アルゴリズムは、画像を入力として受け取り、境界ボックスとオブジェクトラベルを予測します。MobileNet、ResNet、Inception、EfficientNet などのさまざまな深層学習ネットワークは、オブジェクト検出において非常に正確です。328,000 枚の画像を含む共通オブジェクトインコンテキスト (COCO) など、大規模な画像データセットでトレーニングされた深層学習ネットワークもあります。COCO データでネットワークをトレーニングした後、特定のフォーカスを持つデータセットでネットワークを微調整し、より具体的なオブジェクト検出タスクを実行できます。Amazon SageMaker AI オブジェクト検出 - TensorFlow アルゴリズムは、TensorFlow モデルガーデンで利用できる多くの事前トレーニング済みモデルでの転移学習をサポートします。

トレーニングデータ内のクラスラベルの数に応じて、選択した事前トレーニング済みの TensorFlow モデルにオブジェクト検出レイヤーがアタッチされます。その後、ネットワーク全体 (事前トレーニング済みのモデルを含む) を微調整、または新しいトレーニングデータの最上位の分類レイヤーだけの微調整のいずれかを実行できます。この転移学習の方法を使用すると、より小さなデータセットでのトレーニングが可能になります。

# TensorFlow モデル
<a name="object-detection-tensorflow-Models"></a>

オブジェクト検出 - TensorFlow アルゴリズムによる転移学習には、以下の事前トレーニング済みモデルを使用できます。

次のモデルは、指定するデータセットにより、サイズ、モデルパラメータの数、トレーニング時間、および推定レイテンシーが大きく異なります。ユースケースに最適なモデルは、微調整するデータセットの複雑さや、トレーニング時間、推論レイテンシー、またはモデルの精度に関する要件によって異なります。


| モデル名 | `model_id` | ソース | 
| --- | --- | --- | 
| ResNet50 V1 FPN 640 | `tensorflow-od1-ssd-resnet50-v1-fpn-640x640-coco17-tpu-8` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_resnet50_v1_fpn_640x640_coco17_tpu-8.tar.gz) | 
| EfficientDet D0 512 | `tensorflow-od1-ssd-efficientdet-d0-512x512-coco17-tpu-8` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/efficientdet_d0_coco17_tpu-32.tar.gz) | 
| EfficientDet D1 640 | `tensorflow-od1-ssd-efficientdet-d1-640x640-coco17-tpu-8` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/efficientdet_d1_coco17_tpu-32.tar.gz) | 
| EfficientDet D2 768 | `tensorflow-od1-ssd-efficientdet-d2-768x768-coco17-tpu-8` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/efficientdet_d2_coco17_tpu-32.tar.gz) | 
| EfficientDet D3 896 | `tensorflow-od1-ssd-efficientdet-d3-896x896-coco17-tpu-32` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/efficientdet_d3_coco17_tpu-32.tar.gz) | 
| MobileNet V1 FPN 640 | `tensorflow-od1-ssd-mobilenet-v1-fpn-640x640-coco17-tpu-8` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_mobilenet_v1_fpn_640x640_coco17_tpu-8.tar.gz) | 
| MobileNet V2 FPNLite 320 | `tensorflow-od1-ssd-mobilenet-v2-fpnlite-320x320-coco17-tpu-8` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8.tar.gz) | 
| MobileNet V2 FPNLite 640 | `tensorflow-od1-ssd-mobilenet-v2-fpnlite-640x640-coco17-tpu-8` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8.tar.gz) | 
| ResNet50 V1 FPN 1024 | `tensorflow-od1-ssd-resnet50-v1-fpn-1024x1024-coco17-tpu-8` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_resnet50_v1_fpn_1024x1024_coco17_tpu-8.tar.gz) | 
| ResNet101 V1 FPN 640 | `tensorflow-od1-ssd-resnet101-v1-fpn-640x640-coco17-tpu-8` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_resnet101_v1_fpn_640x640_coco17_tpu-8.tar.gz) | 
| ResNet101 V1 FPN 1024 | `tensorflow-od1-ssd-resnet101-v1-fpn-1024x1024-coco17-tpu-8` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_resnet101_v1_fpn_1024x1024_coco17_tpu-8.tar.gz) | 
| ResNet152 V1 FPN 640 | `tensorflow-od1-ssd-resnet152-v1-fpn-640x640-coco17-tpu-8` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_resnet152_v1_fpn_640x640_coco17_tpu-8.tar.gz) | 
| ResNet152 V1 FPN 1024 | `tensorflow-od1-ssd-resnet152-v1-fpn-1024x1024-coco17-tpu-8` | [TensorFlow モデルガーデンリンク](http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_resnet152_v1_fpn_1024x1024_coco17_tpu-8.tar.gz) | 

# オブジェクト検出 - TensorFlow ハイパーパラメータ
<a name="object-detection-tensorflow-Hyperparameter"></a>

ハイパーパラメータは、機械学習モデルが学習を開始する前に設定されるパラメータです。Amazon SageMaker AI 組み込みオブジェクト検出 - TensorFlow アルゴリズムでは、次のハイパーパラメータがサポートされています。ハイパーパラメータのチューニングに関する詳細ついては、「[オブジェクト検出 - TensorFlow モデルを調整する](object-detection-tensorflow-tuning.md)」を参照してください。


| Parameter Name | 説明 | 
| --- | --- | 
| batch\$1size |  トレーニングのバッチサイズ。 有効な値: 正の整数。 デフォルト値: `3`。  | 
| beta\$11 |  `"adam"` オプティマイザーの beta1。最初のモーメントの見積もりの指数関数的減衰率を表します。他のオプティマイザでは無視されます。 有効な値: 浮動小数点数、範囲: [`0.0`, `1.0`]。 デフォルト値: `0.9`。  | 
| beta\$12 |  `"adam"` オプティマイザの beta2。2 番目のモーメントの見積もりの指数関数的減衰率を表します。他のオプティマイザでは無視されます。 有効な値: 浮動小数点数、範囲: [`0.0`, `1.0`]。 デフォルト値: `0.999`。  | 
| early\$1stopping |  `"True"` に設定すると、トレーニング中に早期停止ロジックを使用します。`"False"` の場合、早期停止は使用されません。 有効な値: 文字列、(`"True"` または `"False"`) のいずれか。 デフォルト値: `"False"`。  | 
| early\$1stopping\$1min\$1delta | 改善と認定するのに必要な最小変化。early\$1stopping\$1min\$1delta の値より小さな絶対変化は、改善とは認定されません。early\$1stopping が "True" に設定されている場合にのみ使用されます。有効な値: 浮動小数点数、範囲: [`0.0`, `1.0`]。デフォルト値: `0.0`。 | 
| early\$1stopping\$1patience |  改善なしでトレーニングを継続できるエポック数。`early_stopping` が `"True"` に設定されている場合にのみ使用されます。 有効な値: 正の整数。 デフォルト値: `5`。  | 
| epochs |  トレーニングエポックの数。 有効な値: 正の整数。 デフォルト値: 小さいモデルの場合は `5`、大きいモデルの場合は `1`。  | 
| epsilon |  `"adam"`、`"rmsprop"`、`"adadelta"`、および `"adagrad"` オプティマイザのイプシロン。通常は、0 で除算されないように小さな値を設定します。他のオプティマイザでは無視されます。 有効な値: 浮動小数点数、範囲: [`0.0`, `1.0`]。 デフォルト値: `1e-7`。  | 
| initial\$1accumulator\$1value |  アキュムレータの開始値、または `"adagrad"` オプティマイザのパラメータごとのモーメンタム値。他のオプティマイザでは無視されます。 有効な値: 浮動小数点数、範囲: [`0.0`, `1.0`]。 デフォルト値: `0.1`。  | 
| learning\$1rate | オプティマイザの学習レート。有効な値: 浮動小数点数、範囲: [`0.0`, `1.0`]。デフォルト値: `0.001`。 | 
| momentum |  `"sgd"` および `"nesterov"` オプティマイザのモーメンタム。他のオプティマイザでは無視されます。 有効な値: 浮動小数点数、範囲: [`0.0`, `1.0`]。 デフォルト値: `0.9`。  | 
| optimizer |  オプティマイザのタイプ。詳細については、TensorFlow ドキュメントの「[Optimizers](https://www.tensorflow.org/api_docs/python/tf/keras/optimizers)」を参照してください。 有効な値: 文字列、(`"adam"`、`"sgd"`、`"nesterov"`、`"rmsprop"`、` "adagrad"`、`"adadelta"`) のいずれか。 デフォルト値: `"adam"`。  | 
| reinitialize\$1top\$1layer |  `"Auto"` に設定すると、微調整時に最上位の分類レイヤーパラメータが再初期化されます。段階的トレーニングの場合、`"True"` に設定されない限り、最上位の分類レイヤーのパラメータは再初期化されません。 有効な値: 文字列、(`"Auto"`、`"True"`、または `"False"`) のいずれかです。 デフォルト値: `"Auto"`。  | 
| rho |  `"adadelta"` および `"rmsprop"` オプティマイザの勾配の割引係数。他のオプティマイザでは無視されます。 有効な値: 浮動小数点数、範囲: [`0.0`, `1.0`]。 デフォルト値: `0.95`。  | 
| train\$1only\$1on\$1top\$1layer |  `"True"` の場合、最上位の分類レイヤーパラメータのみ微調整されます。`"False"` の場合、すべてのモデルパラメータが微調整されます。 有効な値: 文字列、(`"True"` または `"False"`) のいずれか。 デフォルト値: `"False"`。  | 

# オブジェクト検出 - TensorFlow モデルを調整する
<a name="object-detection-tensorflow-tuning"></a>

*自動モデル調整*は、ハイパーパラメータ調整とも呼ばれ、データセットのさまざまなハイパーパラメータをテストする多数のジョブを実行して、モデルの最適なバージョンを見つけます。調整可能なハイパーパラメータ、それぞれの値の範囲、および目標メトリクスを選択します。アルゴリズムが計算するメトリクスから目標メトリクスを選択します。自動モデル調整は、選択されたハイパーパラメータを検索して、目標メトリクスを最適化するモデルになる値の組み合わせを見つけます。

モデル調整の詳細については、「[SageMaker AI の自動モデルチューニング](automatic-model-tuning.md)」を参照してください。

## オブジェクト検出 - TensorFlow アルゴリズムで計算されるメトリクス
<a name="object-detection-tensorflow-metrics"></a>

次の表を参照して、オブジェクト検出 - TensorFlow アルゴリズムによって計算されるメトリクスを確認してください。


| メトリクス名 | 説明 | 最適化の方向 | 正規表現パターン | 
| --- | --- | --- | --- | 
| validation:localization\$1loss | ボックス予測におけるローカリゼーションの損失。 | 最小化 | `Val_localization=([0-9\\.]+)` | 

## 調整可能なオブジェクト検出 - TensorFlow ハイパーパラメータ
<a name="object-detection-tensorflow-tunable-hyperparameters"></a>

以下のハイパーパラメータを使用してオブジェクト検出モデルを調整します。オブジェクト検出の目標メトリクスに最も大きな影響を与えるハイパーパラメータは、`batch_size`、`learning_rate`、および `optimizer` です。選択した `optimizer` に基づいて、`momentum`、`regularizers_l2`、`beta_1`、`beta_2`、`eps` などのオプティマイザ関連のハイパーパラメータを調整します。たとえば、`adam` が `optimizer` である場合にのみ `beta_1` と `beta_2` を使用します。

各 `optimizer` で使用されるハイパーパラメータの詳細については、「[オブジェクト検出 - TensorFlow ハイパーパラメータ](object-detection-tensorflow-Hyperparameter.md)」を参照してください。


| パラメータ名 | パラメータタイプ | 推奨範囲 | 
| --- | --- | --- | 
| batch\$1size | IntegerParameterRanges | MinValue: 8、MaxValue: 512 | 
| beta\$11 | ContinuousParameterRanges | MinValue: 1e-6、MaxValue: 0.999 | 
| beta\$12 | ContinuousParameterRanges | MinValue: 1e-6、MaxValue: 0.999 | 
| eps | ContinuousParameterRanges | MinValue: 1e-8、MaxValue: 1.0 | 
| learning\$1rate | ContinuousParameterRanges | MinValue: 1e-6、MaxValue: 0.5 | 
| momentum | ContinuousParameterRanges | MinValue: 0.0、MaxValue: 0.999 | 
| optimizer | CategoricalParameterRanges | ['sgd', ‘adam’, ‘rmsprop’, 'nesterov', 'adagrad', 'adadelta'] | 
| regularizers\$1l2 | ContinuousParameterRanges | MinValue: 0.0、MaxValue: 0.999 | 
| train\$1only\$1on\$1top\$1layer | CategoricalParameterRanges | ['True', 'False'] | 
| initial\$1accumulator\$1value | CategoricalParameterRanges | MinValue: 0.0、MaxValue: 0.999 | 