本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
物件偵測 - TensorFlow演算法的輸入和輸出介面
TensorFlow Hub 模型中列出的每個預先訓練模型,皆可針對具有任何映像類別數量之任何資料集進行微調。請注意如何格式化您的訓練資料,以輸入至物件偵測 - TensorFlow模型。
-
訓練資料輸入格式:您的訓練資料應該是具有
images
子目錄和annotations.json
檔案的目錄。
以下為輸入目錄結構的範例。輸入目錄應該託管於 Amazon S3 儲存貯體中,其中包含與下方相似的路徑:s3://
。請注意,結尾的 bucket_name
/input_directory
//
是必要的。
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 儲存貯體。
增量訓練
您可以使用先前使用 SageMaker AI 訓練的模型成品,來植入新模型的訓練。增量訓練可以在您希望使用相同或相似資料訓練新模型時,節省訓練的時間。
注意
您只能植入 SageMaker AI 物件偵測 - TensorFlow 模型與另一個物件偵測 - 在 SageMaker AI 中訓練的 TensorFlow 模型。
只要類別組保持不變,您就可以使用任何資料集進行增量訓練。增量訓練步驟類似微調的步驟,但不是從預先訓練的模型開始,而是從現有的經微調的模型開始。如需如何搭配 SageMaker AI 物件偵測 - TensorFlow 使用增量訓練的詳細資訊,請參閱 SageMaker TensorFlow - 物件偵測筆記本簡介
使用物件偵測 - TensorFlow 演算法進行推論
您可以託管由 TensorFlow 物件偵測訓練所產生的微調模型,以進行推論。任何推論的輸入映像都必須位於.jpg
、.jpeg
或 .png
格式並且為內容類型 application/x-image
。物件偵測 - TensorFlow 演算法會自動調整輸入映像的大小。
執行推論會產生邊界框、預測的類別,以及以 JSON 格式編碼的每個預測分數。物件偵測 - TensorFlow 模型會處理每個請求的單一映像,而且僅輸出一行。以下為 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
,則模型僅輸出標準化方塊、類別和分數。