Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Cara menggunakan SageMaker AI Object Detection - TensorFlow algoritma
Anda dapat menggunakan Deteksi Objek - TensorFlow sebagai algoritma bawaan Amazon SageMaker AI. Bagian berikut menjelaskan cara menggunakan Deteksi Objek - TensorFlow dengan SageMaker AI Python SDK. Untuk informasi tentang cara menggunakan Deteksi Objek - TensorFlow dari UI Amazon SageMaker Studio Classic, lihatSageMaker JumpStart model pra-terlatih.
TensorFlow Algoritma Deteksi Objek mendukung pembelajaran transfer menggunakan salah satu TensorFlow model pra-latih yang kompatibel. Untuk daftar semua model pra-pelatihan yang tersedia, lihatTensorFlow Model. Setiap model pra-terlatih memiliki keunikan. model_id Contoh berikut menggunakan ResNet 50 (model_id:tensorflow-od1-ssd-resnet50-v1-fpn-640x640-coco17-tpu-8) untuk menyempurnakan dataset kustom. Semua model yang telah dilatih sebelumnya diunduh dari TensorFlow Hub dan disimpan di bucket Amazon S3 sehingga pekerjaan pelatihan dapat berjalan dalam isolasi jaringan. Gunakan artefak pelatihan model yang dibuat sebelumnya ini untuk membangun SageMaker AI ModelTrainer.
Pertama, ambil URI gambar Docker, URI skrip pelatihan, dan URI model yang telah dilatih sebelumnya. Kemudian, ubah hyperparameter sesuai keinginan Anda. Anda dapat melihat kamus Python dari semua hyperparameter yang tersedia dan nilai defaultnya denganhyperparameters.retrieve_default. Untuk informasi selengkapnya, lihat Deteksi Objek - TensorFlow Hyperparameter. Gunakan nilai-nilai ini untuk membangun SageMaker AI ModelTrainer.
catatan
Nilai hyperparameter default berbeda untuk model yang berbeda. Misalnya, untuk model yang lebih besar, jumlah zaman default lebih kecil.
Contoh ini menggunakan PennFudanPed.train() menggunakan lokasi Amazon S3 dari kumpulan data pelatihan Anda.
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), ] )
Untuk informasi selengkapnya tentang cara menggunakan SageMaker AI Object Detection - TensorFlow algoritma untuk transfer pembelajaran pada dataset khusus, lihat Peng antar SageMaker TensorFlow - Buku