鏈結標記任務 - Amazon SageMaker

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

鏈結標記任務

Amazon SageMaker Ground Truth 可以透過兩種方式重複使用先前任務的資料集:複製和鏈結。

複製會複製先前標記任務的設定,並在開始執行任務之前,讓您先進行額外的變更。

「鏈結」不僅使用先前任務的設定,還使用結果。這可讓您繼續未完成的任務,並將標記或資料物件新增到已完成的任務。鏈結是更複雜的操作。

若為資料處理:

  • 複製會使用先前任務的「輸入」資訊清單 (可選擇是否要進行修改),作為新任務的輸入資訊清單。

  • 鏈結會使用先前任務的「輸出」資訊清單,作為新任務的輸入資訊清單。

當您需要執行下列動作時,鏈結很有用:

  • 繼續已手動停止的標記任務。

  • 修正問題後,繼續標記使 mid-job 失敗的標記任務。

  • 在手動標記部分任務之後,切換至自動化資料標記 (或反之亦然)。

  • 將更多資料物件新增到已完成的任務,並從那裡開始執行任務。

  • 將另一個標註新增到已完成的任務。例如,您有一組針對主題而標記的字詞,然後想要依主題的潛在讀者將字詞分類,再重新運用這組字詞。

在 Amazon SageMaker Ground Truth 中,您可以使用主控台或 API 設定鏈結的標籤任務。

重要術語:標籤屬性名稱

在以工作者指派給資料物件的標籤所組成的金鑰值組中,「標籤屬性名稱」 (在 API 中為 LabelAttributeName) 是用來作為金鑰的字串。

下列規則適用於標籤屬性名稱:

  • 它不能以 -metadata 結尾。

  • 名稱 sourcesource-ref 已保留,無法使用。

  • 對於語意分段標記任務,它必須以 -ref 結尾。對於所有其他標記工作,它「不能」-ref 結尾。如果您使用主控台建立任務,Amazon SageMaker Ground Truth 會自動附加-ref到所有標籤屬性名稱,但語義分割任務除外。

  • 對於鏈結標記任務,如果您使用來自原始任務的同一個標籤屬性名稱,並設定鏈結任務來使用自動標記,則只要已在任何時候進入自動標記模式,Ground Truth 就會使用來自原始任務的模型。

在輸出資訊清單中,標籤屬性名稱會出現,如下所示。

"source-ref": "<S3 URI>", "<label attribute name>": { "annotations": [{ "class_id": 0, "width": 99, "top": 87, "height": 62, "left": 175 }], "image_size": [{ "width": 344, "depth": 3, "height": 234 }] }, "<label attribute name>-metadata": { "job-name": "<job name>", "class-map": { "0": "<label attribute name>" }, "human-annotated": "yes", "objects": [{ "confidence": 0.09 }], "creation-date": "<timestamp>", "type": "groundtruth/object-detection" }

如果您在主控台中建立任務,而且未明確設定標籤屬性名稱值,則 Ground Truth 會使用任務名稱作為任務的標籤屬性名稱。

啟動鏈結任務 (主控台)

從現有任務清單中選擇已停止、失敗或完成的標記任務。這樣會啟用 Actions (動作) 功能表。

Actions (動作) 功能表中,選擇 Chain (鏈結)

任務概觀面板

Job overview (任務概觀) 面板中,將會根據您要鏈結到此任務的來源任務標題,設定新的 Job name (任務名稱)。您可以變更它。

您也可以指定不同於標記任務名稱的標籤屬性名稱。

如果您從已完成的任務來鏈結,標籤屬性名稱會使用您設定的新任務的名稱。若要變更名稱,請選取此核取方塊。

如果您從已停止或失敗的任務來鏈結,標籤屬性名稱會使用您鏈結的來源任務的名稱。因為已勾選名稱核取方塊,查看和編輯值是很簡單的。

屬性標籤命名考量
  • 預設會使用 Ground Truth 已選取的標籤屬性名稱。沒有資料連接到該標籤屬性名稱的所有資料物件都會標記。

  • 如果使用的標籤屬性名稱不存在資訊清單中,則任務會處理資料集的所有物件。

在這種情況下,將自動選取 input dataset location (輸入資料集位置) 作為鏈結任務的輸出資訊清單。輸入欄位不可用,因此無法變更。

將資料物件新增到標記任務

您不能指定替代資訊清單檔案。在開始鏈結的任務之前,手動編輯上一個任務的輸出資訊清單來新增新項目。Amazon S3 URI 協助您尋找在 Amazon S3 儲存貯體中存放資訊清單的位置。從那裡下載資訊清單檔案,在本機電腦上編輯,然後上傳新版本來取代它。請確保您在編輯期間沒有引入錯誤。建議您使用 JSON linter 檢查您的 JSON。許多熱門的文字編輯器和 IDE 都有 linter 外掛程式可用。

啟動鏈結任務 (API)

與使用 CreateLabelingJob 設定新標記任務的程序幾乎相同,除了兩個主要差異:

  • 資訊清單位置: DataSource 中的 ManifestS3Uri 的值,應該指向先前標記任務的輸出資訊清單的 Amazon S3 URI,而不是使用先前任務的原始資訊清單。

  • 標籤屬性名稱:在這裡設定正確的 LabelAttributeName 值很重要。這正是鍵值組的索引鍵部分,而標記資料是值。使用案例範例包括:

    • 新增新的或更加特定的標籤到已完成任務 — 設定新的標籤屬性名稱。

    • 標記先前任務中未標記的項目 — 使用來自先前任務的標籤屬性名稱。

使用部分標記的資料集

如果您使用已部分標記的擴增資訊清單,則能享受一些鏈結好處。勾選 Label attribute name (標籤屬性名稱) 核取方塊,並將名稱設為符合您的資訊清單中的名稱。

如果您使用 API,則指示同於啟動已鏈結的任務。不過,請務必將資訊清單上傳到 Amazon S3 儲存貯體來使用,而不要使用先前任務的輸出資訊清單。

資訊清單中的 標籤屬性名稱 值必須遵循先前說明之命名考量。