

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

# 객체 감지 - TensorFlow 알고리즘의 입력 및 출력 인터페이스
<a name="object-detection-tensorflow-inputoutput"></a>

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 버킷에 저장됩니다.

## 증분 훈련
<a name="object-detection-tensorflow-incremental-training"></a>

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

**참고**  
SageMaker AI 객체 감지 - TensorFlow 모델은 SageMaker AI에서 훈련된 다른 객체 감지 - TensorFlow 모델에만 시드를 지정할 수 있습니다.

클래스 세트가 동일하게 유지되는 한 어떤 데이터세트라도 증분 훈련에 사용할 수 있습니다. 증분 훈련 단계는 미세 조정 단계와 비슷하지만, 사전 훈련 모델로 시작되는 대신 기존의 미세 조정 모델로 시작됩니다. SageMaker AI 객체 감지 - TensorFlow로 증분 훈련을 사용하는 방법에 대한 자세한 내용은 [Introduction to SageMaker TensorFlow - Object Detection](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/object_detection_tensorflow/Amazon_Tensorflow_Object_Detection.ipynb) 노트북을 참조하세요.

## 객체 감지 - TensorFlow 알고리즘을 이용한 추론
<a name="object-detection-tensorflow-inference"></a>

추론용 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>}
```

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