本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
影像分類演算法 - TensorFlow 的輸入及輸出介面
TensorFlow Hub 模型中列出的每個預先訓練模型,都可以針對具有任何影像類別數量的任何資料集進行微調。請注意如何設定訓練資料的格式,以便輸入影像分類 - TensorFlow 模型。
-
訓練資料輸入格式:您的訓練資料應為一個目錄,其子目錄數目與分類數目相同。每個子目錄應包含屬於該類的影像,儲存為 .jpg,.jpeg 或 .png 格式。
下列範例是輸入目錄結構。這個範例資料集有兩個類別:roses
和 dandelion
。每個類別資料夾中的影像檔案名稱隨意。輸入目錄應託管於一個 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 - 影像分類簡介