View a markdown version of this page

Come utilizzare l'algoritmo SageMaker AI Object Detection - TensorFlow - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Come utilizzare l'algoritmo SageMaker AI Object Detection - TensorFlow

Puoi utilizzare Object Detection TensorFlow , come algoritmo integrato di Amazon SageMaker AI. La sezione seguente descrive come utilizzare Object Detection TensorFlow con SageMaker AI Python SDK. Per informazioni su come utilizzare Object Detection, TensorFlow dall'interfaccia utente classica di Amazon SageMaker Studio, consulta. SageMaker JumpStart modelli preaddestrati

L' TensorFlow algoritmo Object Detection supporta l'apprendimento tramite trasferimento utilizzando uno qualsiasi dei TensorFlow modelli preaddestrati compatibili. Per un elenco di tutti i modelli preaddestrati disponibili, consulta TensorFlow Modelli. Ogni modello preaddestrato ne ha model_id univoco. L'esempio seguente utilizza ResNet 50 (model_id:tensorflow-od1-ssd-resnet50-v1-fpn-640x640-coco17-tpu-8) per ottimizzare un set di dati personalizzato. I modelli preaddestrati vengono tutti prescaricati dall' TensorFlow Hub e archiviati in bucket Amazon S3 in modo che i processi di formazione possano essere eseguiti in isolamento di rete. Usa questi artefatti di addestramento dei modelli pregenerati per costruire un'intelligenza artificiale. SageMaker ModelTrainer

Innanzitutto, recupera l'URI dell'immagine Docker, l'URI dello script di addestramento e l'URI del modello preaddestrato. Quindi, modifica gli iperparametri per adattarli al tuo caso. Puoi vedere un dizionario Python di tutti gli iperparametri disponibili e i loro valori predefiniti con hyperparameters.retrieve_default. Per ulteriori informazioni, consulta Rilevamento di oggetti - TensorFlow Iperparametri. Usa questi valori per costruire un'IA. SageMaker ModelTrainer

Nota

I valori predefiniti degli iperparametri sono diversi per i diversi modelli. Ad esempio, per i modelli più grandi, il numero predefinito di epoche è inferiore.

Questo esempio utilizza il set di dati PennFudanPed, che contiene immagini di pedoni in strada. Abbiamo pre-scaricato il set di dati e lo abbiamo reso disponibile con Amazon S3. Per ottimizzare il tuo modello, chiama .train() utilizzando la posizione Amazon S3 del tuo set di dati di addestramento.

from sagemaker.core import image_uris from sagemaker.core import model_uris, script_uris, hyperparameters from sagemaker.train import ModelTrainer from sagemaker.train.configs import InputData from sagemaker.train.configs import SourceCode, Compute, StoppingCondition, OutputDataConfig 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 a ModelTrainer instance tf_od_model_trainer = ModelTrainer( role=aws_role, training_image=train_image_uri, source_code=SourceCode(source_dir=train_source_uri, entry_script="transfer_learning.py"), # In V3, pre-trained model artifacts are passed via input_data_config compute=Compute(instance_type=training_instance_type, instance_count=1), stopping_condition=StoppingCondition(max_runtime_in_seconds=360000), hyperparameters=hyperparameters, output_data_config=OutputDataConfig(s3_output_path=s3_output_location), ) # Launch a training job tf_od_model_trainer.train( input_data_config=[ InputData(channel_name="training", data_source=training_dataset_s3_path), InputData(channel_name="model", data_source=train_model_uri), ] )

Per ulteriori informazioni su come utilizzare l' TensorFlow algoritmo SageMaker AI Object Detection per il trasferimento dell'apprendimento su un set di dati personalizzato, consulta il taccuino Introduzione a SageMaker TensorFlow - Object Detection.