

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 文字分類 - TensorFlow 演算法的輸入和輸出介面
<a name="text-classification-tensorflow-inputoutput"></a>

TensorFlow Hub 模型中列入的每個預先訓練模型，皆可針對由具有任何類別數量之文字句子組成的任何資料集進行微調。預先訓練的模型會將分類層連接到文字內嵌項目模型，並將層參數初始化為隨機值。分類層的輸出維度是基於在輸入資料中偵測到的類別數量來決定。

請注意如何格式化您的訓練資料，以輸入至文字分類 - TensorFlow模型。
+ **訓練資料輸入格式：**包含 `data.csv` 檔案的目錄。首欄的每一列應具有介於 0 和類別數量之間的整數類別標籤。第二欄的每一列應具有對應的文字資料。

以下為輸入 CSV 檔案的範例。請注意，該檔案不應該有任何標題。檔案應該託管於 Amazon S3 儲存貯體中，其中包含與下方相似的路徑：`s3://bucket_name/input_directory/`。請注意，結尾 `/` 是必要項目。

```
|   |  |
|---|---|
|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 演算法使用增量訓練的更多資訊，請參閱 [JumpStart - 文字分類簡介](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`，則模型僅輸出機率。