기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SageMaker 객체 감지 - TensorFlow 알고리즘을 사용하는 방법
객체 감지 -를 Amazon SageMaker 기본 제공 알고리즘 TensorFlow 으로 사용할 수 있습니다. 다음 섹션에서는 SageMaker Python TensorFlow 에서 객체 감지를 사용하는 방법을 설명합니다SDK. Amazon SageMaker Studio Classic UI TensorFlow 에서 객체 감지를 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요SageMaker JumpStart 사전 훈련된 모델.
객체 감지 TensorFlow 알고리즘은 호환되는 사전 훈련된 TensorFlow 모델을 사용하여 전송 학습을 지원합니다. 사용 가능한 모든 사전 훈련 모델의 목록은 TensorFlow 모델를 참조하세요. 모든 사전 훈련 모델에는 고유한 model_id
가 있습니다. 다음 예제에서는 ResNet50(model_id
: tensorflow-od1-ssd-resnet50-v1-fpn-640x640-coco17-tpu-8
)을 사용하여 사용자 지정 데이터 세트를 미세 조정합니다. 사전 훈련된 모델은 모두 TensorFlow Hub에서 사전 다운로드되고 Amazon S3 버킷에 저장되므로 훈련 작업이 네트워크 격리 상태에서 실행될 수 있습니다. 이러한 사전 생성된 모델 훈련 아티팩트를 사용하여 SageMaker 추정기를 구성합니다.
먼저 Docker 이미지 URI, 훈련 스크립트 URI및 사전 훈련된 모델 를 검색합니다URI. 그런 다음 상황에 맞게 하이퍼파라미터를 변경하세요. hyperparameters.retrieve_default
를 사용하면 모든 가용 하이퍼파라미터와 해당 하이퍼파라미터의 기본값으로 구성된 Python 사전을 볼 수 있습니다. 자세한 내용은 객체 감지 - TensorFlow 하이퍼파라미터 단원을 참조하십시오. 이 값을 사용하여 SageMaker 추정기를 구성합니다.
참고
기본 하이퍼파라미터 값은 모델마다 다릅니다. 그 예로 대형 모델일수록 기본 에포크 수가 적습니다.
이 예제에서는 거리의 보행자가 담긴 이미지를 포함하는 PennFudanPed
.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 객체 감지 TensorFlow 알고리즘을 사용하는 방법에 대한 자세한 내용은 소개 SageMaker TensorFlow - 객체 감지