

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Comment utiliser l' TensorFlow algorithme SageMaker AI Object Detection
<a name="object-detection-tensorflow-how-to-use"></a>

Vous pouvez utiliser Object Detection TensorFlow en tant qu'algorithme intégré d'Amazon SageMaker AI. La section suivante décrit comment utiliser la détection d'objets TensorFlow avec le SDK SageMaker AI Python. Pour plus d'informations sur l'utilisation de la détection d'objets, TensorFlow depuis l'interface utilisateur Amazon SageMaker Studio Classic, consultez[SageMaker JumpStart modèles préentraînés](studio-jumpstart.md).

L' TensorFlow algorithme Object Detection prend en charge l'apprentissage par transfert à l'aide de l'un des TensorFlow modèles préentraînés compatibles. Pour obtenir la liste de tous les modèles pré-entraînés disponibles, consultez [TensorFlow Modèles](object-detection-tensorflow-Models.md). Chaque modèle pré-entraîné possède un `model_id` unique. L'exemple suivant utilise ResNet 50 (`model_id`:`tensorflow-od1-ssd-resnet50-v1-fpn-640x640-coco17-tpu-8`) pour affiner un ensemble de données personnalisé. Les modèles préentraînés sont tous prétéléchargés depuis le TensorFlow Hub et stockés dans des compartiments Amazon S3 afin que les tâches de formation puissent être exécutées de manière isolée sur le réseau. Utilisez ces artefacts d'entraînement de modèles prégénérés pour créer un estimateur d' SageMaker IA.

Tout d'abord, récupérez l'URI de l'image Docker, l'URI du script d'entraînement et l'URI du modèle pré-entraîné. Ensuite, modifiez les hyperparamètres comme bon vous semble. Vous pouvez consulter un dictionnaire Python de tous les hyperparamètres disponibles et de leurs valeurs par défaut avec `hyperparameters.retrieve_default`. Pour de plus amples informations, veuillez consulter [Détection d'objets - TensorFlow Hyperparamètres](object-detection-tensorflow-Hyperparameter.md). Utilisez ces valeurs pour créer un estimateur SageMaker AI.

**Note**  
Les valeurs par défaut des hyperparamètres sont différentes selon les modèles. Par exemple, pour les modèles plus grands, le nombre d'époques par défaut est inférieur. 

Cet exemple utilise le jeu de données [https://www.cis.upenn.edu/~jshi/ped_html/#pub1](https://www.cis.upenn.edu/~jshi/ped_html/#pub1), qui contient des images de piétons dans la rue. Nous avons pré-téléchargé le jeu de données et l'avons mis à disposition avec Amazon S3. Pour affiner votre modèle, appelez `.fit` à l'aide de l'emplacement Amazon S3 de votre jeu de données d'entraînement.

```
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)
```

Pour plus d'informations sur l'utilisation de l' TensorFlow algorithme SageMaker AI Object Detection pour l'apprentissage par transfert sur un ensemble de données personnalisé, consultez le bloc-notes [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).