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.
Utilisation de l’algorithme Object Detection - TensorFlow dans SageMaker AI
Vous pouvez utiliser Object Detection - TensorFlow en tant qu’algorithme intégré Amazon SageMaker AI. La section suivante explique comment utiliser Object Detection - TensorFlow avec le kit SageMaker AI Python SDK. Pour en savoir plus sur l’utilisation d’Object Detection - TensorFlow à partir de l’interface utilisateur d’Amazon SageMaker Studio Classic, consultez SageMaker JumpStart modèles préentraînés.
L'algorithme Object Detection - TensorFlow prend en charge l'apprentissage par transfert à l'aide de n'importe quel modèle de hub TensorFlow pré-entraîné compatible. Pour obtenir la liste de tous les modèles pré-entraînés disponibles, consultez Modèles TensorFlow. Chaque modèle pré-entraîné possède un model_id unique. L'exemple suivant utilise ResNet50 (model_id : tensorflow-od1-ssd-resnet50-v1-fpn-640x640-coco17-tpu-8) pour l'affinage sur un jeu de données personnalisé. Les modèles pré-entraînés sont tous pré-téléchargés depuis le hub TensorFlow et stockés dans des compartiments Amazon S3 afin que les tâches d'entraînement puissent s'exécuter de manière isolée sur le réseau. Utilisez ces artefacts d’entraînement des modèles prégénérés pour construire un estimateur SageMaker AI.
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 plus d’informations, consultez Hyperparamètres pour Object Detection - TensorFlow. Utilisez ces valeurs pour construire 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 PennFudanPed.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’algorithme Object Detection - TensorFlow SageMaker AI pour l’apprentissage par transfert sur un jeu de données personnalisé, consultez le bloc-notes Introduction to SageMaker TensorFlow - Object Detection