影像分類演算法 - TensorFlow 的輸入及輸出介面 - Amazon SageMaker AI

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

影像分類演算法 - TensorFlow 的輸入及輸出介面

TensorFlow Hub 模型中列出的每個預先訓練模型,都可以針對具有任何影像類別數量的任何資料集進行微調。請注意如何設定訓練資料的格式,以便輸入影像分類 - TensorFlow 模型。

  • 訓練資料輸入格式:您的訓練資料應為一個目錄,其子目錄數目與分類數目相同。每個子目錄應包含屬於該類的影像,儲存為 .jpg,.jpeg 或 .png 格式。

下列範例是輸入目錄結構。這個範例資料集有兩個類別:rosesdandelion。每個類別資料夾中的影像檔案名稱隨意。輸入目錄應託管於一個 Amazon S3 儲存貯體,透過類似以下的路徑:s3://bucket_name/input_directory/。請注意,結尾的 / 是必要的。

input_directory |--roses |--abc.jpg |--def.jpg |--dandelion |--ghi.jpg |--jkl.jpg

訓練過的模型輸出標籤對應文件,會將分類的文件夾名稱對應到輸出類別機率清單的索引。這份對應會依字母順序排列。例如,在上述的範例中,蒲公英類是索引 0,而玫瑰類是索引 1。

訓練結束後,您將擁有一個經微調的模型,可以使用增量訓練進一步進行訓練或加以部署以進行推論。影像分類 - TensorFlow 演算法會自動將預先處理和後續處理簽章新增至經微調的模型,以便將影像當作輸入,並傳回類別機率。將類別索引對應到類別標籤的檔案,與模型一同被儲存。

增量訓練

您可以使用先前使用 SageMaker AI 訓練之模型的成品來植入新模型的訓練。增量訓練可以在您希望使用相同或相似資料訓練新模型時,節省訓練的時間。

注意

您只能植入 SageMaker AI 影像分類 - TensorFlow 模型與另一個影像分類 - 在 SageMaker AI 中訓練的 TensorFlow 模型。

只要類別組保持不變,您就可以使用任何資料集進行增量訓練。增量訓練步驟類似微調的步驟,但不是從預先訓練的模型開始,而是從現有的經微調的模型開始。如需使用 SageMaker AI Image Classification - TensorFlow 演算法進行增量訓練的範例,請參閱 SageMaker TensorFlow - Image Classification 範例筆記本簡介

使用影像分類 - TensorFlow 演算法進行推論

您可以託管由 TensorFlow 影像分類訓練所產生的微調後模型,以進行推論。所有用於推論的輸入影像都必須儲存為 .jpg、.jpeg.png 格式,且內容類型為 application/x-image。影像分類 - TensorFlow 演算法會自動調整輸入影像的大小。

執行推論會產生機率值、所有類別的類別標籤,以及與類別索引對應的預測標籤,其中最高機率以 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,則模型僅輸出機率。如需使用影像分類 - TensorFlow 演算法進行訓練和推論的詳細資訊,請參閱 SageMaker TensorFlow - 影像分類簡介範例筆記本。