객체 감지 - TensorFlow 알고리즘의 입력 및 출력 인터페이스 - Amazon SageMaker AI

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

객체 감지 - TensorFlow 알고리즘의 입력 및 출력 인터페이스

TensorFlow Models에 나열된 각각의 사전 훈련 모델은 이미지 클래스의 개수에 관계없이 모든 데이터세트에 맞게 미세 조정할 수 있습니다. 객체 감지 - TensorFlow 모델에 입력할 훈련 데이터의 형식을 지정하는 방법을 기억해 두세요.

  • 훈련 데이터 입력 형식: 훈련 데이터는 images 하위 디렉터리 및 annotations.json 파일이 있는 디렉터리여야 합니다.

다음은 입력 디렉터리 구조의 예제입니다. 입력 디렉터리는 s3://bucket_name/input_directory/과 비슷한 경로를 가진 Amazon S3 버킷에 호스팅되어야 합니다. 단, 후행 /는 필수입니다.

input_directory |--images |--abc.png |--def.png |--annotations.json

annotations.json 파일에는 경계 상자 및 해당 클래스 레이블에 대한 정보가 "images" 사전 및 "annotations"개 키의 형태로 들어 있어야 합니다. "images" 키의 값은 사전 목록이어야 합니다. 각 이미지에는 {"file_name": image_name, "height": height, "width": width, "id": image_id}에 해당하는 정보가 포함된 사전이 하나씩 있어야 합니다. "annotations" 키의 값 역시 사전 목록이어야 합니다. 각 경계 상자에는 {"image_id": image_id, "bbox": [xmin, ymin, xmax, ymax], "category_id": bbox_label}에 해당하는 정보가 포함된 사전이 하나씩 있어야 합니다.

훈련 이후에는 레이블 매핑 파일과 훈련된 모델이 Amazon S3 버킷에 저장됩니다.

증분 훈련

SageMaker AI로 이전에 훈련한 모델의 아티팩트를 사용하여 새 모델의 훈련을 시드할 수 있습니다. 증분 훈련은 동일하거나 유사한 데이터로 새 모델을 훈련하려는 경우 훈련 시간을 절감시켜 줍니다.

참고

SageMaker AI로 훈련된 다른 객체 감지 - TensorFlow 모델로만 SageMaker AI 객체 감지 - TensorFlow 모델을 시드할 수 있습니다.

클래스 세트가 동일하게 유지되는 한 어떤 데이터세트라도 증분 훈련에 사용할 수 있습니다. 증분 훈련 단계는 미세 조정 단계와 비슷하지만, 사전 훈련 모델로 시작되는 대신 기존의 미세 조정 모델로 시작됩니다. SageMaker AI 객체 감지 - TensorFlow에서 증분 훈련을 사용하는 방법에 대한 자세한 내용은 SageMaker TensorFlow 소개 - 객체 감지 노트북을 참조하세요.

객체 감지 - TensorFlow 알고리즘을 이용한 추론

추론용 TensorFlow 객체 감지 훈련의 결과로 미세 조정 모델을 호스팅할 수 있습니다. 모든 추론용 입력 이미지는 .jpg, jpeg 또는 .png 형식이면서 application/x-image 콘텐츠 유형이어야 합니다. 객체 감지 - TensorFlow 알고리즘은 입력 이미지의 크기를 자동으로 조정합니다.

추론을 실행하면 경계 상자, 예측 클래스, 그리고 JSON 형식으로 인코딩된 각 예측의 점수가 생성됩니다. 객체 감지 - TensorFlow 모델은 요청당 단일 이미지를 처리하고 1개 행만 출력합니다. 다음은 JSON 형식 응답의 예제입니다.

accept: application/json;verbose {"normalized_boxes":[[xmin1, xmax1, ymin1, ymax1],....], "classes":[classidx1, class_idx2,...], "scores":[score_1, score_2,...], "labels": [label1, label2, ...], "tensorflow_model_output":<original output of the model>}

acceptapplication/json로 설정하면 이 모델이 정규화 상자, 클래스 및 점수만 출력합니다.