物件偵測 TensorFlow 演算法的輸入和輸出介面 - Amazon SageMaker

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

物件偵測 TensorFlow 演算法的輸入和輸出介面

TensorFlow 模型中列出的每個預先訓練模型都可以微調為具有任何數量影像類別的任何資料集。請注意如何格式化訓練資料,以輸入物件偵測 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。增量訓練可以在您希望使用相同或相似資料訓練新模型時,節省訓練的時間。

注意

您只能使用在 中訓練的另一個 SageMaker 物件偵測 TensorFlow 模型來植入物件偵測 TensorFlow 模型 SageMaker。

只要類別組保持不變,您就可以使用任何資料集進行增量訓練。增量訓練步驟類似微調的步驟,但不是從預先訓練的模型開始,而是從現有的經微調的模型開始。如需如何搭配 SageMaker 物件偵測使用增量訓練的詳細資訊 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,則模型僅輸出標準化方塊、類別和分數。