

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

# 텍스트 분류 - TensorFlow 알고리즘의 입력/출력 인터페이스
<a name="text-classification-tensorflow-inputoutput"></a>

TensorFlow Hub Models에 나열된 각각의 사전 훈련 모델은 클래스의 개수에 관계없이 텍스트 문장으로 구성된 모든 데이터세트에 맞게 미세 조정할 수 있습니다. 사전 훈련 모델은 분류 계층을 텍스트 임베딩 모델에 연결하고 계층 파라미터를 무작위 값으로 초기화합니다. 분류 계층의 출력 차원은 입력 데이터에서 감지된 클래스의 수에 따라 결정됩니다.

텍스트 분류 - TensorFlow 모델에 입력할 수 있도록 훈련 데이터의 형식을 지정하는 방법을 기억해 두세요.
+ **훈련 데이터 입력 형식:** `data.csv` 파일이 포함된 디렉터리입니다. 첫 번째 열의 각 행에는 0과 클래스 개수 사이의 정수 클래스 레이블이 있어야 합니다. 두 번째 열의 각 행에는 해당하는 텍스트 데이터가 있어야 합니다.

다음 내용은 입력 CSV 파일의 예제입니다. 이 파일에는 어떤 헤더도 없어야 합니다. 이 파일은 경로가 `s3://bucket_name/input_directory/`과 유사한 Amazon S3 버킷에 호스팅되어야 합니다. 단, `/`에 대한 후행은 필수입니다.

```
|   |  |
|---|---|
|0 |hide new secretions from the parental units|
|0 |contains no wit , only labored gags|
|1 |that loves its characters and communicates something rather beautiful about human nature|
|...|...|
```

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

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

**참고**  
SageMaker AI 텍스트 분류 - TensorFlow 모델에 대한 시드는 SageMaker AI로 훈련된 다른 텍스트 분류 - TensorFlow 모델로만 지정할 수 있습니다.

클래스 세트가 동일하게 유지되는 한 어떤 데이터세트라도 증분 훈련에 사용할 수 있습니다. 증분 훈련 단계는 미세 조정 단계와 비슷하지만, 사전 훈련 모델로 시작되는 대신 기존의 미세 조정 모델로 시작됩니다.

SageMaker AI 텍스트 분류 - TensorFlow 알고리즘으로 증분 훈련을 사용하는 방법에 대한 자세한 내용은 [Introduction to JumpStart - Text Classification](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_text_classification/Amazon_JumpStart_Text_Classification.ipynb) 샘플 노트북을 참조하세요.

## 텍스트 분류 - TensorFlow 알고리즘을 이용한 추론
<a name="text-classification-tensorflow-inference"></a>

추론용 TensorFlow 텍스트 분류 훈련의 결과인 미세 조정 모델을 호스팅할 수 있습니다. 추론용 원시 텍스트 형식은 `application/x-text` 콘텐츠 유형이어야 합니다.

추론을 실행하면 확률 값 및 모든 클래스의 클래스 레이블이 생성되고, 확률이 가장 높은 클래스 인덱스에 해당하는 예측 레이블이 JSON 형식으로 인코딩됩니다. 텍스트 분류 - TensorFlow 모델은 요청당 단일 문자열을 처리하고 한 줄만 출력합니다. 다음 내용은 JSON 형식 응답의 예제입니다.

```
accept: application/json;verbose

{"probabilities": [prob_0, prob_1, prob_2, ...],
"labels": [label_0, label_1, label_2, ...],
"predicted_label": predicted_label}
```

`accept`를 `application/json`으로 설정하면 해당 모델이 확률만 출력합니다.