

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

# 透過自訂管制提升準確性
<a name="moderation-custom-moderation"></a>

 Amazon Rekognition 的 [DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectModerationLabels.html) API 可讓您偵測不適當、不需要或令人反感的內容。Rekognition 自訂管制特徵可讓您使用轉接器來增強 [DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectModerationLabels.html) 的準確性。轉接器是模組化的元件，可以新增至現有的 Rekognition 深度學習模型，擴充其功能以適用於其所訓練的任務。藉由建立轉接器並將其提供給 [DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectModerationLabels.html) 操作，您可以讓與特定使用案例相關的內容管制任務達到更好的準確性。

為特定審核標籤自訂 Rekognition 的內容管制模型時，您必須建立專案並在提供的一組映像上訓練轉接器。然後，您可以反覆檢查轉接器的效能，並將轉接器重新訓練到想要的準確度。專案可包含不同版本的轉接器。

您可使用 Rekognition 主控台來建立專案和轉接器。或者，您可以使用 AWS SDK 和相關聯的 APIs 來建立專案、訓練轉接器，以及管理您的轉接器。



# 建立和使用轉接器
<a name="creating-and-using-adapters"></a>

轉接器是模組化元件，可新增至現有的 Rekognition 深度學習模型中，擴充其功能以適用於其所訓練的任務。透過使用轉接器訓練深度學習模型，您可以使與特定使用案例相關的映像分析工作達到更高的準確度。

若要建立和使用轉接器，您必須提供訓練和測試資料給 Rekognition。您可以透過兩種方式完成此操作：
+ 批量分析和驗證：您可以透過批量分析 Rekognition 將分析並指派標籤的映像來建立訓練資料集。然後，您可以查看為映像生成的註釋，並驗證或更正預測。如需映像批量分析如何運作的詳細資訊，請參閱[批量分析](https://docs.aws.amazon.com/rekognition/latest/dg/bulk-analysis.html)。
+ 手動註釋：使用這種方法，可以透過上傳和註釋映像來建立訓練資料。您可以透過上傳和註釋映像或通過自動分割來建立測試資料。

選擇下列其中一個主題以進一步了解：

**Topics**
+ [批量分析和驗證](adapters-bulk-analysis.md)
+ [手動註釋](adapters-manual-annotation.md)

# 批量分析和驗證
<a name="adapters-bulk-analysis"></a>

透過這種方法，您可以上傳大量要用作訓練資料的映像，然後使用 Rekognition 取得這些映像的預測結果，並自動為這些映像指派標籤。您可以使用這些預測做為轉接器的起點。您可以驗證預測的準確性，然後根據驗證的預測來訓練轉接器。這可以透過 AWS 主控台完成。



 以下影片示範如何使用 Rekognition 的大量分析功能來取得和驗證大量影像的預測，然後使用這些預測來訓練轉接器。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/IGGMHPnPZLs?si=5eoidzFPbL6i5FfY/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/IGGMHPnPZLs?si=5eoidzFPbL6i5FfY)


## 上傳映像以進行批量分析
<a name="adapters-bulk-analysis-upload-images"></a>

若要為您的轉接器建立訓練資料集，請批量上傳映像以供 Rekognition 預測標籤。為了獲得最佳結果，應盡可能提供最多可訓練的映像，最高限制為 10000，並確保映像代表使用案例的各個層面。

使用 AWS 主控台時，您可以直接從電腦上傳映像，或提供存放映像的 Amazon Simple Storage Service 儲存貯體。但是，將 Rekognition API 與 SDK 搭配使用時，您必須提供資訊清單檔案，該檔案參考存放在 Amazon Simple Storage Service 儲存貯體中的映像。如需詳細資訊，請參閱[批量分析](https://docs.aws.amazon.com/rekognition/latest/dg/bulk-analysis.html)。

## 審查預測
<a name="adapters-bulk-analysis-review-predictions"></a>

一旦您將映像上傳到 Rekognition 主控台，Rekognition 就會為這些映像產生標籤。然後，您可以將預測驗證為以下類別之一：真陽性、偽陽性、真陰性、偽陰性。驗證預測後，可以根據您的反饋訓練轉接器。

## 訓練轉接器
<a name="adapters-bulk-analysis-train-adapter"></a>

完成批量分析傳回的預測驗證後，您可以啟動轉接器的訓練程序。

## 取得 AdapterId
<a name="adapters-bulk-analysis-get-adapter"></a>

轉接器訓練完畢後，您就可以取得轉接器的唯一 ID，以便與 Rekognition 的映像分析 API 搭配使用。

## 呼叫 API 操作
<a name="adapters-bulk-analysis-call-operation"></a>

若要套用您的自訂轉接器，請在呼叫其中一個支援轉接器的映像分析 API 時提供其 ID。這樣可以增強映像預測的準確性。

# 手動註釋
<a name="adapters-manual-annotation"></a>

使用這種方法，您可以透過手動上傳和註釋映像來建立訓練資料。您可以透過上傳和註解測試映像或自動分割來建立測試資料，讓 Rekognition 自動使用部分訓練資料做為測試映像。

## 上傳和註解映像
<a name="adapters-upload-sample-images"></a>

若要訓練轉接器，您必須上傳一組代表您使用案例的範例映像。為了獲得最佳結果，應盡可能提供最多可訓練的映像，最高限制為 10000，並確保映像代表使用案例的各個層面。

![\[介面顯示匯入訓練影像的選項，以及匯入資訊清單檔案、從 S3 儲存貯體匯入或從電腦上傳影像的選項。包含 S3 URI 欄位，並注意確保讀取/寫入許可。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/adapters-11-traiing-dataset.png)


使用 AWS 主控台時，您可以直接從電腦上傳映像、提供資訊清單檔案，或提供存放映像的 Amazon S3 儲存貯體。

 但是，將 Rekognition API 與 SDK 搭配使用時，必須提供清單檔案，該檔案參考儲存在 Amazon S3 儲存貯體中的映像。

您可以使用 [Rekognition 主控台](https://console.aws.amazon.com/rekognition)的註解介面來為映像加上註解。通過使用標籤標記映像來註釋映像，為培訓確立「基本真相」。您也必須指定訓練和測試集，或使用自動分割特徵，才能訓練轉接器。完成指定資料集並註解映像後，您可以根據測試集中的註解映像建立配接器。然後，您可以評估轉接器的效能。

## 建立測試集。
<a name="adapters-training-testing"></a>

您將需要提供帶註釋的測試集或使用自動拆分特徵。訓練組是用來實際訓練轉接器。轉接器學習這些帶註釋的映像中包含的模式。測試集用於在完成轉接器之前評估模型的效能。

## 訓練轉接器
<a name="adapters-train-adapter"></a>

 完成訓練資料的註解或提供資訊清單檔案後，您可以啟動轉接器的訓練串流程。

## 取得轉接器 ID
<a name="adapter-get-adapter"></a>

轉接器訓練完畢後，您就可以取得轉接器的唯一 ID，以便與 Rekognition 的映像分析 API 搭配使用。

## 呼叫 API 操作
<a name="adapter-call-operation"></a>

若要套用您的自訂轉接器，請在呼叫其中一個支援轉接器的映像分析 API 時提供其 ID。這樣可以增強映像預測的準確性。

# 準備資料集
<a name="preparing-datasets-adapters"></a>

建立配接器時，您必須提供 Rekognition 兩個資料集，一個訓練資料集和一個測試資料集。每個資料集由提供兩個元素組成：映像和註釋/標籤。以下各節將說明標籤和映像用於哪些標籤和映像，以及其如何結合在一起建立資料集。

## 映像
<a name="preparing-datasets-adapters-images"></a>

您需要在映像的代表性樣本上訓練轉接器。當您選取要訓練的映像時，請嘗試包含至少一些映像，這些映像會顯示您使用轉接器鎖定的每個標籤的預期回應。

若要建立訓練資料集，您必須提供下列兩種映像類型之一：
+ 帶有偽陽性預測的映像。例如，當基礎模型預測映像存在酒精時，但實際不存在酒精。
+ 帶有偽陰性預測的映像。例如，當基礎模型預測映像不存在酒精時，但實際存在酒精。

若要建立平衡資料集，建議您提供下列兩種映像類型之一：
+ 具有真陽性預測的映像。例如，當基礎模型正確預測映像存在酒精。如果您提供偽陰性映像，建議提供這些映像。
+ 具有真陽性預測的映像。例如，當基礎模型正確地預測映像不存在酒精時。如果您提供偽陰性映像，建議提供這些映像。

## 標籤
<a name="preparing-datasets-adapters-labels"></a>

標籤是指下列任何一項：物件、事件、概念或活動。對於內容審核，標籤是指不適當、不需要或令人反感的內容執行個體。

在將標籤指派給稱為「註釋」的映像時，在透過訓練 Rekognition 的基礎模型來建立轉接器的環境。使用 Rekognition 主控台訓練轉接器時，您可以使用主控台選擇標籤，然後標記與標籤對應的映像來為映像新增註解。透過此程序，模型會學習如何根據指定的標籤識別映像的元素。此連結程序可讓模型在建立轉接器時專注於最相關的內容，從而提高映像分析的準確度。

或者，您可以提供資訊清單檔案，其中包含映像的相關資訊以及隨之附註解的資訊。

## 訓練和測試資料集
<a name="preparing-datasets-adapters-datasets"></a>

訓練資料集是微調模型和建立自訂配接器的基礎。您必須提供已註解的訓練資料集，以供模型學習。模型會從此資料集中學習，以改善其在您提供的映像類型上的效能。

 為了提高準確性，您必須通過註釋/標記映像來建立訓練資料集。您可以透過兩種方式完成此操作：
+  手動指派標籤：您可以使用 Rekognition 主控台建立訓練資料集，方法是上傳您要資料集包含的映像，然後手動指派標籤給這些映像。
+  資訊清單檔案：您可使用資訊清單檔案來訓練轉接器。資訊清單檔案包含訓練和測試映像的基本真相註解，以及訓練映像位置的資訊。您可以在使用 Rekognition APIs 訓練轉接器或使用 AWS 主控台時提供資訊清單檔案。

測試資料集用於在訓練後評估轉接器的效能。為了確保可靠的評估，測試資料集是通過使用模型以前從未見過的原始培訓資料集的一部分來建立。此程序可確保使用新資料評估轉接器的效能，從而建立精確的測量和指標。若要取得最佳精確度的改進，請參閱 [訓練轉接器的最佳實務](using-adapters-best-practices.md)。

# 使用 CLI 和 SDKs AWS 管理轉接器
<a name="managing-adapters"></a>

 Rekognition 可讓您利用多種運用預先訓練的電腦視覺模型的功能。使用這些模型，您可以執行諸如標籤偵測和內容管制之類的任務。您也可以使用轉接器自訂這些特定型號。

您可以使用 Rekognition 的專案建立和專案管理 API (例如 [CreateProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateProject.html) 與 [CreateProjectVersion](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateProjectVersion.html)) 來建立和訓練轉接器。以下頁面說明如何使用 API 操作，使用 AWS 主控台、您選擇的 AWS SDK 或 AWS CLI 來建立、訓練和管理轉接器。

訓練轉接器之後，您可以在使用支援的功能執行推論時使用。目前，使用內容管制特徵時支援轉接器。

使用 AWS SDK 訓練轉接器時，您必須以資訊清單檔案的形式提供 Ground-truth 標籤 （影像註釋）。或者，您可使用 Rekognition 主控台來建立和訓練轉接器。

**注意**  
 無法複製轉接器。只能複製 Rekognition 自訂標籤專案版本。

**Topics**
+ [轉接器狀態](#managing-adapters-project-versions-statuses)
+ [建立專案](managing-adapters-create-project.md)
+ [描述專案](managing-adapters-describe-projects.md)
+ [刪除專案](managing-adapters-delete-project.md)
+ [建立專案版本](managing-adapters-create-project-version.md)
+ [描述專案版本](managing-adapters-describe-project.md)
+ [刪除專案版本](managing-adapters-delete-project-version.md)

## 轉接器狀態
<a name="managing-adapters-project-versions-statuses"></a>

自訂管制轉接器 （專案版本） 可以處於下列其中一種狀態：
+ TRAINING\$1IN\$1PROGRESS - 轉接器正在對您作為訓練文件提供的檔案進行訓練。
+ TRAINING\$1COMPLETED - 轉接器已成功完成訓練，可供您檢閱其效能。
+ TRAINING\$1FAILED - 轉接器因為某些原因而無法完成其訓練，請檢閱輸出資訊清單檔案和輸出資訊清單摘要，以取得失敗原因的相關資訊。
+ 刪除 - 轉接器正在刪除中。
+ 已棄用 - 轉接器已針對舊版的內容管制基礎模型進行訓練。其處於寬限期，並在新基礎模型版本的發行後 60 到 90 天內過期。在寬限期內，您仍然可以使用轉接器搭配 [DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectModerationLabels.html) 或 [StartMediaAnalysisJob](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartMediaAnalysisJob.html) API 操作進行推論。如需轉接器的過期日期，請參閱自訂管制主控台。
+ EXPIRED - 轉接器已針對舊版的內容管制基礎模型進行訓練，且無法再用於透過 DetectModerationLabels 或 StartMediaAnalysisJob API 操作取得自訂結果。如果在推論請求中指定已過期的轉接器，則會忽略該轉接器，而回應會從最新版本的自訂管制基礎模型傳回。

# 建立專案
<a name="managing-adapters-create-project"></a>

透過 [CreateProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateProject.html) 操作，您可以建立一個專案，該專案將容納 Rekognition 的標籤偵測操作的轉接器。專案是一組資源，在 DetectModerationLabels 等標籤偵測作業的情況下，專案可讓您儲存可用來自訂基礎 Rekognition 模型的配接器。當調用 CreateProject 時，您提供要為 ProjectName 引數建立的專案名稱。

 若要使用 AWS 主控台建立專案：
+ 簽署 Rekognition 主控台
+ 按一下**自訂管制**
+ 選擇**建立專案**
+ 選擇**建立新專案**或**新增到現有專案**
+ 新增**專案名稱**
+ 新增**轉接器名稱**
+ 視需要新增描述
+ 選擇您要匯入訓練映像的方式：資訊清單檔案、S3 儲存貯體或從電腦匯入
+ 選擇是否要自動分割訓練資料或匯入資訊清單檔案
+ 選擇是否要自動更新專案
+ 按一下**建立專案**。

若要使用 CLI 和 SDK AWS 建立專案：

1. 如果您尚未這麼做，請安裝並設定 AWS CLI 和 AWS SDKs。如需詳細資訊，請參閱 [步驟 2：設定 AWS CLI 和 AWS SDKs](setup-awscli-sdk.md)。

1. 使用以下程式碼來建立專案。

------
#### [ CLI ]

```
# Request
# Creating Content Moderation Project
aws rekognition create-project \
    --project-name "project-name" \
    --feature CONTENT_MODERATION \
    --auto-update ENABLED
    --profile profile-name
```

------

# 描述專案
<a name="managing-adapters-describe-projects"></a>

您可以使用 [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects.html) API 來取得專案的相關資訊，包括與專案相關聯之所有轉接器的相關資訊。

若要使用 CLI 和 SDK AWS 描述專案：

1. 如果您尚未這麼做，請安裝並設定 AWS CLI 和 AWS SDKs。如需詳細資訊，請參閱 [步驟 2：設定 AWS CLI 和 AWS SDKs](setup-awscli-sdk.md)。

1. 使用下列程式碼來描述專案：

------
#### [ CLI ]

```
# Request
# Getting CONTENT_MODERATION project details 
aws rekognition describe-projects \
    --features CONTENT_MODERATION
    --profile profile-name
```

------

# 刪除專案
<a name="managing-adapters-delete-project"></a>

您可以使用 Rekognition 主控台或呼叫 [DeleteProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProject.html) API。若要刪除專案，您必須先刪除每一個相關轉接器。刪除的專案或模型無法取消刪除。

 若要使用 AWS 主控台刪除專案：
+ 簽署 Rekognition 主控台。
+ 按一下**自訂管制**。
+ 您必須刪除專案中的每一個轉接器，才能刪除專案本身。選取轉接器，然後選取**刪除**，以刪除與專案相關聯的所有轉接器。
+ 選取專案，然後選取**刪除**按鈕。

若要使用 CLI 和 SDK AWS 刪除專案：

1. 如果您尚未這麼做，請安裝並設定 AWS CLI 和 AWS SDKs。如需詳細資訊，請參閱 [步驟 2：設定 AWS CLI 和 AWS SDKs](setup-awscli-sdk.md)。

1. 使用下列程序來刪除專案。

------
#### [ CLI ]

```
aws rekognition delete-project 
  --project-arn project_arn \
  --profile profile-name
```

------

# 建立專案版本
<a name="managing-adapters-create-project-version"></a>

您可以使用 [CreateProjectVersion](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateProjectVersion.html) 來訓練用於部署的轉接器。CreateProjectVersion 會先建立與專案關聯的轉接器的新版本，然後開始訓練轉接器。來自 CreateProjectVersion 的回應是模型版本的 Amazon Resource Name (ARN)。訓練需要一段時間才能完成。您可以呼叫 DescribeProjectVersions 來取得目前的狀態。訓練模型時，Rekognition 會使用與專案相關聯的訓練和測試資料集。可以使用主控台來建立資料集。如需詳細資訊，請參閱頁面上的資料集。

 若要使用 Rekognition 主控台建立專案版本：
+  簽署 AWS Rekognition 主控台 
+  按一下自訂管制 
+  選取專案。
+  在「專案詳細資訊」頁面上，選擇**建立轉接器** 
+  在「建立專案」頁面上，填入專案詳細資料、訓練映像和測試映像的必要詳細資料，然後選取**建立專案**。
+  在「為映像指派標籤」頁面上，為映像新增標籤，完成後選取**開始訓練** 

若要使用 CLI 和 SDK AWS 建立專案版本：

1. 如果您尚未這麼做，請安裝並設定 AWS CLI 和 AWS SDKs。如需詳細資訊，請參閱 [步驟 2：設定 AWS CLI 和 AWS SDKs](setup-awscli-sdk.md)。

1. 使用下面的程式碼來建立一個專案版本：

------
#### [ CLI ]

```
# Request
aws rekognition create-project-version \
 --project-arn project-arn \
 --training-data '{Assets=[GroundTruthManifest={S3Object="amzn-s3-demo-source-bucket",Name="manifest.json"}]}' \
 --output-config S3Bucket=amzn-s3-demo-destination-bucket,S3KeyPrefix=my-results \
 --feature-config "ContentModeration={ConfidenceThreshold=70}"
 --profile profile-name
```

------

# 描述專案版本
<a name="managing-adapters-describe-project"></a>

可以使用 [DescribeProjectVersions](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions.html) 來列出並描述與專案相關聯的轉接器。可以在 ProjectVersionArn 中指定最多 10 個模型版本。如果您不指定值，就會傳回專案中所有模型版本的描述。

若要使用 CLI 和 SDK AWS 描述專案版本：

1. 如果您尚未這麼做，請安裝並設定 AWS CLI 和 AWS SDKs。如需詳細資訊，請參閱 [步驟 2：設定 AWS CLI 和 AWS SDKs](setup-awscli-sdk.md)。

1. 請使用下列程式碼來描述專案版本：

------
#### [ CLI ]

```
aws rekognition describe-project-versions 
  --project-arn project_arn \
  --version-names [versions]
```

------

# 刪除專案版本
<a name="managing-adapters-delete-project-version"></a>

您可以使用 [DeleteProjectVersion](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProjectVersion.html) 操作刪除與專案相關聯的 Rekognition 配接器。如果轉接器正在執行或正在訓練，您就無法刪除轉接器。若要檢查轉接器的狀態，請呼叫 DescribeProjectVersions 操作，並檢查其傳回的狀態欄位。要停止正在執行的轉接器，請呼叫 StopProjectVersion。如果模型正在訓練，請等到完成訓練以刪除模型。您必須刪除專案中的每一個轉接器，才能刪除專案本身。

 若要使用 Rekognition 主控台刪除專案版本：
+ 簽署 Rekognition 主控台
+ 按一下自訂管制
+ 從專案標籤中，您可以看到所有專案和相關聯的轉接器。選取轉接器，然後選取**刪除**。

若要使用 CLI 和 SDK AWS 刪除專案版本：

1. 如果您尚未這麼做，請安裝並設定 AWS CLI 和 AWS SDKs。如需詳細資訊，請參閱 [步驟 2：設定 AWS CLI 和 AWS SDKs](setup-awscli-sdk.md)。

1. 使用下列程式碼來刪除專案版本：

------
#### [ CLI ]

```
# Request
aws rekognition delete-project-version 
  --project-version-arn model_arn \
  --profile profile-name
```

------

# 自訂管制轉接器教學課程
<a name="using-adapters-tutorial"></a>

本教學課程說明如何使用 Rekognition 主控台建立、訓練、評估、使用和管理轉接器。若要使用 AWS SDK 建立、使用和管理轉接器，請參閱 [使用 CLI 和 SDKs AWS 管理轉接器](managing-adapters.md)。

配接器可讓您增強 Rekognition API 操作的準確性，自訂模型的行為以符合自身需求和使用案例。在您使用本教學課程建立轉接器之後，可以在使用 [DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectModerationLabels.html) 等操作來分析自有映像時使用，以及重新訓練轉接器進行未來進一步的改進。

於本教學課程中，您會了解：
+ 使用 Rekognition Console 建立專案
+ 為訓練資料加上註解
+ 在訓練資料集上訓練您的轉接器
+ 檢閱轉接器的效能
+ 使用您的轉接器進行映像分析

## 先決條件
<a name="using-adapters-tutorial-prereqs"></a>

在完成本教學課程之前，建議您先閱讀 [建立和使用轉接器](creating-and-using-adapters.md)。

若要建立轉接器，您可以使用 Rekognition 主控台工具來建立專案、上傳和註解您自有映像，然後在這些映像上訓練配接器。若要開始使用，請參閱 [建立專案並訓練轉接器](#using-adapters-tutorial-annotation)。

或者，您可以使用 Rekognition 的主控台或 API 擷取映像的預測，然後在針對這些預測訓練轉接器之前驗證預測。若要開始使用，請參閱 [批量分析、預測驗證和訓練轉接器](#using-adapters-tuorial-annotation-bulk-analysis)。

## 映像註釋
<a name="using-adapters-tutorial-image-annotation"></a>

您可以使用 Rekognition 主控台為映像加上標籤，或使用 Rekognition 批量分析來註解映像，然後可以驗證這些映像已正確標記。選擇以下其中一個主題以開始使用。

**Topics**
+ [建立專案並訓練轉接器](#using-adapters-tutorial-annotation)
+ [批量分析、預測驗證和訓練轉接器](#using-adapters-tuorial-annotation-bulk-analysis)

### 建立專案並訓練轉接器
<a name="using-adapters-tutorial-annotation"></a>

使用 Rekognition 主控台註釋映像，完成下列步驟以訓練轉接器。

**建立專案**

在訓練或使用轉接器之前，您必須先建立將包含轉接器的專案。您也必須提供轉接器訓練轉接器時使用的映像。若要建立專案、轉接器和映像資料集：

1. 登入 AWS 管理主控台，並在 https：//https://console.aws.amazon.com/rekognition/ 開啟 Rekognition 主控台。

1. 在左窗格中，選擇**自訂管制**。此時會顯示 Rekognition 自訂管制的登陸頁面。  
![\[Rekognition 自訂管制界面顯示沒有現有的微調轉接器，以及建立新專案或搜尋的選項。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/adapters-1-landing-page.png)

1. 自訂管制登陸頁面會顯示所有專案和轉接器的清單，而且還有一個按鈕可用來建立轉接器。選擇**建立專案**以建立新的專案和轉接器。

1. 如果這是您第一次建立轉接器，系統會提示您建立 Amazon S3 儲存貯體來存放與專案和轉接器相關的檔案。選擇**建立 Amazon S3 儲存貯體**。

1. 在下一頁中，填寫**轉接器名稱**和**專案名稱**。如果需要，請提供轉接器說明。  
![\[用於輸入專案詳細資訊的表單，包括專案名稱、轉接器名稱和選用轉接器描述。從資訊清單檔案或 S3 儲存貯體匯入訓練影像資料集的選項。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/adapters-2-project-details.png)

1. 在此步驟中，您也會提供轉接器的映像。您可以選取：**從電腦匯入映像**、**匯入資訊清單檔案**或**從 Amazon S3 儲存貯體匯入映像**。如果您選擇從 Amazon S3 儲存貯體匯入映像，請提供包含訓練映像之儲存貯體和資料夾的路徑。如果您直接從電腦上傳映像，請注意，一次最多只能上傳 30 張映像。如果您使用的是包含註釋的資訊清單檔案，您可以略過下列涵蓋映像註釋的步驟，然後繼續執行 [檢視轉接器效能](#using-adapters-tutorial-performance) 上的區段。

1. 在**測試資料集詳情**區段中，選擇**自動分割**，讓 Rekognition 自動選取適當的映像百分比做為測試資料，或者也可以選擇**手動匯入資訊清單檔案**。

1. 填寫此資訊後，選取**建立專案**。

**訓練轉接器**

要在自己未註釋的映像上訓練轉接器：

1. 選取包含轉接器的專案，然後選擇指**派標籤給映像**的選項。

1. 在**指派標籤給映像**的頁面上，可以看到已上傳為訓練映像的所有映像。您可以使用左側的兩個屬性選取面板，依標籤/未標示狀態和標籤類別篩選這些映像。您可以選取**新增映像**按鈕，將其他映像新增至訓練資料集。  
![\[具有說明、轉接器詳細資訊和空白影像面板的影像標記界面。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/adapters-4-assign-labels-to-images.png)

1. 將映像新增至訓練資料集後，您必須使用標籤為映像加上註解。上傳映像後，「為映像分配標籤」頁面將更新以顯示您上傳的映像。系統將提示您從 Rekognition 管制支援的標籤下拉式清單中選取適合您映像的標籤。您可選擇多個專案。

1. 繼續此程序，直到您已將標籤新增至訓練資料中的每個映像。

1. 標記所有資料之後，請選取**開始訓練**開始訓練模型，以建立您的轉接器。  
![\[顯示 2 張影像的界面，具有為明確裸露、暗示性內容、暴力、仇恨符號、酒精、藥物、煙草等類別指派標籤的選項。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/adapters-5-labels-images-blurred.png)

1. 在開始訓練程序之前，您可以將任何**標籤**新增至您想要的轉接器。您也可以提供轉接器自訂加密金鑰或使用 AWS KMS 金鑰。完成新增任何想要的標籤並根據您的喜好自訂加密之後，請選取**訓練轉接器**以開始轉接器的訓練程序。

1. 等待轉接器完成訓練。訓練完成後，您會收到轉接器已完成建立的通知。

轉接器的狀態為「訓練完成」之後，您就可以檢視轉接器的指標

### 批量分析、預測驗證和訓練轉接器
<a name="using-adapters-tuorial-annotation-bulk-analysis"></a>

透過驗證 Rekognition 的內容管制模型中的批量分析預測，完成以下步驟來訓練您的轉接器。

 若要透過驗證 Rekognition 的內容管制模型中的預測來訓練轉接器，您必須：

1.  對映像進行批量分析 

1.  驗證為您的映像傳回的預測 

您可以使用 Rekognition 的基礎模型或您已建立的轉接器執行批量分析，以取得映像預測。

**對映像執行批量分析**

若要針對已驗證的預測訓練轉接器，您必須先啟動批量分析工作，使用 Rekognition 的基本模型或您選擇的轉接器來分析一批映像。若要執行批量分析操作：

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/) 開啟 Amazon Rekognition 主控台。

1. 在左窗格中，選擇**批量分析**。批量分析登陸頁面隨即出現。選擇**開始批量分析**。大量分析功能概觀顯示上傳影像、等待分析、檢閱結果以及選擇性驗證模型預測的步驟。列出使用基本模型進行內容管制的最近大量分析任務。  
![\[大量分析功能概觀顯示工作流程，並列出使用基本模型進行內容管制的最新大量分析任務。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/BA-1-create-bulk-analysis.png)

1. 如果這是您第一次建立轉接器，系統會提示您建立 Amazon Simple Storage Service 儲存貯體，以存放與您的專案和轉接器相關的檔案。選擇**建立 Amazon S3 儲存貯體**。

1. 使用**選擇轉接器**下拉式功能表，選取要用於批量分析的轉接器。如果未選擇轉接器，則預設會使用基礎模型。基於本教學的用途，請選擇轉接器。  
![\[具有下拉式功能表的大量分析界面，可選擇 Rekognition 功能、轉接器、設定任務名稱和標籤的最低可信度閾值。某些欄位為必要欄位。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/BA-2-bulk-analysis-job.png)

1.  在**批量分析作業名稱**欄位中，填入批量分析作業名稱。

1. 選擇**最小可信度閾值**的值。不會傳回低於您選擇的信賴閾值的標籤預測。請注意，稍後評估模型的效能時，將無法調整置信度閾值低於所選的最低可信度閾值。

1. 在此步驟中，您還將使用批量分析提供要分析的映像。這些映像也可以用來訓練轉接器。您可以選擇**從電腦上傳映像**或**從 Amazon S3 儲存貯體匯入映像**。如果您選擇從 Amazon S3 儲存貯體匯入文件，請提供包含訓練映像檔的儲存貯體和資料夾的路徑。如果您直接從電腦上傳文件，請注意，一次只能上傳 50 張映像。

1. 填寫此資訊後，選擇**開始分析**。這將使用 Rekognition 的基礎模型開始分析過程。

1.  您可以在批量分析主頁面上檢查作業的批量分析狀態，以檢查批量分析作業的狀態。當批量分析狀態變為「成功」時，即可檢閱分析結果。  
![\[大量分析任務表顯示使用內容管制辨識 API 和基礎模型，名為「評估 01」且狀態為「成功」的任務。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/BA-3-bulk-analysis-status.png)

1.  從**批量分析作業**清單中選擇您建立的分析。

1. 在批量分析詳細資料頁面上，您可以看到 Rekognition 基本模型針對您上傳的映像所做的預測。

1. 檢閱基礎模型的效能。您可以使用可信度閾值滑桿，變更轉接器必須具備的可信度閾值，才能將標籤指派給映像。當您調整可信度閾值時，已標記和未標記的執行個體數目會隨之變更。標籤類別的面板會顯示 Rekognition 可辨識的最上層類別，您可以在此清單中選取一個類別，以顯示已指派該標籤的任何映像。  
![\[大量分析長條圖顯示針對各種標籤標記的影像計數。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/BA-4-bulk-analysis-complete.png)

**驗證預測**

如果您已檢閱 Rekognition 基礎模型或所選轉接器的準確性，並且想要改善此精確度，可以利用驗證工作串流程：

1. 完成基礎模型效能的檢閱後，您將需要驗證預測。更正預測支援您訓練轉接器。從批量分析頁面頂端選擇**驗證預測**。  
![\[面板會提示您驗證預測以計算偽陽性和陰性率，或訓練自訂管制轉接器以提高準確性。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/BA-6-start-verification.png)

1. 在驗證預測頁面上，可以看到您提供給 Rekognition 基礎模型或所選轉接器的所有映像，以及每個映像的預測標籤。您必須使用映像下方的按鈕驗證每個預測是否正確或不正確。使用「X」按鈕將預測標記為不正確，使用複選標記按鈕將預測標記為正確。若要訓練轉接器，您需要驗證至少 20 個假陽性預測，以及指定標籤的 50 個假陰性預測。您驗證的預測越多，轉接器的效能就越好。  
![\[三個影像，描述持有酒精性飲料的人，用於說明影像標籤的「Alcohol」類別預測。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/BA-7-verify-predictions-1.png)

   驗證預測後，映像下方的文字將會變更，以顯示您已驗證的預測類型。驗證映像後，您也可以使用**將標籤指派給映像**選單，為映像新增其他標籤。您可以查看模型針對您選擇的置信度閾值標記或未標記哪些映像，或依類別篩選映像。  
![\[本圖顯示酒精內容管制的三個範例，以及套用標籤的選單。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/BA-8-verify-predictions-2.png)

1. 完成驗證所有要驗證的預測後，您可以在驗證頁面的**依標籤效能**部分查看有關已驗證預測的統計資料。您也可以傳回批量分析詳細資訊頁面來檢視這些統計資料。  
![\[內容管制驗證頁面顯示 50% 可信度閾值的明確裸露、建議和酒精標籤的偽陽性率。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/BA-8.5-predictions-stats.png)

1. 如果您對**依標籤效能**的統計資料滿意，請再次前往**驗證預測**頁面，然後選取**訓練轉接器**按鈕，開始訓練您的轉接器。  
![\[驗證顯示任務詳細資訊的預測頁面，包括名稱、建立日期、模型版本、輸入和輸出位置。訓練轉接器按鈕存在。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/BA-9-train-adapter.png)

1. 在訓練轉接器頁面上，系統會提示您建立專案或選擇現有的專案。命名專案和專案將包含的轉接器。您也必須指定測試映像的來源。指定映像時，您可以選擇自動分割讓 Rekognition 自動使用訓練資料的一部分作為測試映像，或者您也可以手動指定資訊清單檔案。建議選擇自動拆分。  
![\[用於建立新轉接器專案的界面，其中包含輸入專案名稱、轉接器名稱、轉接器描述、指定測試資料來源，以及自動分割資料或匯入資訊清單檔案的欄位。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/BA-10-train-adapter-project.png)

1. 指定您想要的任何標籤，如果您不想使用預設 AWS KMS 金鑰，也請指定 AWS 金鑰。建議將**自動更新**保留為啟用狀態。

1. 選擇**培訓連接器**。  
![\[轉接器的組態設定，包括新增標籤、資料加密、可信度閾值和自動更新的選項。可以從此界面訓練轉接器。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/BA-11-train-adapter.png)

1. 一旦「自訂管制」登陸頁面上的轉接器狀態變成「訓練完成」，就可以檢視轉接器的效能。如需詳細資訊，請參閱[檢視轉接器效能](#using-adapters-tutorial-performance)。

## 檢視轉接器效能
<a name="using-adapters-tutorial-performance"></a>

為檢視轉接器效能：

1. 使用主控台時，您可以在自訂管制登陸頁面的專案索引標籤下，查看與專案相關聯之任何轉接器的狀態。導覽至自訂管制登陸頁面。  
![\[自訂管制登陸頁面顯示管制專案清單，其中包含 狀態、轉接器 ID、輸入資料位置、基礎模型版本、建立日期和狀態訊息等詳細資訊。您可以建立、刪除或繼續專案。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/adapters-7-status-alt.png)

1. 從此清單中選取您要檢閱的轉接器。在下列轉接器詳細資料頁面上，您可以看到轉接器的各種度量。  
![\[轉接器效能指標顯示 25% 的誤報改善和 24% 的不同標籤類別誤報，例如 Suggestive 和 Alcohol，以及地面上的資料真實陽性、基礎模型和轉接器誤報。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/adapters-8.5-new-performance-review.png)

1. 透過**閾值**面板，您可以變更轉接器為映像指派標籤所必須具備的最低可信度閾值。當您調整可信度閾值時，已標記和未標記的執行個體數目會隨之變更。您也可以依標籤類別篩選，以查看所選類別的指標。設定您選擇的閾值。

1. 您可以檢查轉接器效能面板中的指標，以評估轉接器在測試資料上的效能。這些指標的計算方式是將轉接器的擷取與測試集上的「基本真相」註解進行比較。

轉接器效能面板會顯示您建立之轉接器的偽陽性改善率和偽陰性改善率。按標籤效能標籤可用來比較轉接器和基礎模型在每個標籤類別上的效能。該標籤顯示了基本模型和轉接器的偽陽性和偽陰性預測的計數，按標籤類別分層。透過檢閱這些指標，您可以判斷轉接器需要改進的位置。如需這些指標的詳細資訊，請參閱 [評估和改善您的轉接器](using-adapters-evaluating-improving.md)。

若要改善效能，您可以收集更多訓練映像，然後在專案內部建立新的轉接器。只要傳回自訂管制登陸頁面，並在專案內建立新的轉接器，即可提供更多訓練映像供訓練的轉接器使用。這次選擇**新增到現有專案選項**，而不是**建立新專案**，然後從**專案名稱**下拉菜單中選擇要在其中建立新轉接器的專案。和以前一樣，為您的映像新增註釋或提供帶有註釋的資訊清單檔案。

![\[用於建立新的內容管制轉接器或新增至現有專案的界面，以及用於命名轉接器和專案的選項。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/adapters-9-create-new-adapter.png)


## 使用轉接器
<a name="using-adapters-tutorial-using-adapter"></a>

建立轉接器之後，您可以將其提供給支援的 Rekognition 操作，例如 [DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectModerationLabels.html)。若要查看您可以使用轉接器執行推論的程式碼範例，請選取「使用轉接器」索引標籤，您可以在其中查看 CLI 和 Python AWS 的程式碼範例。您也可以造訪建立轉接器之操作文件的相應章節，以查看更多程式碼範例、設定指示和範例 JSON。

![\[介面顯示測試資料、訓練資料和輸出資料的位置，以及對應的 S3 URL 欄位。使用轉接器、檢視訓練影像和標籤，以及存取轉接器詳細資訊的選項，包括其適用於 AWS CLI 和 Python 的 ID 和程式碼範例，以使用訓練過的轉接器。\]](http://docs.aws.amazon.com/zh_tw/rekognition/latest/dg/images/adapters-12-use-adapter.png)


## 刪除您的轉接器和專案
<a name="using-adapters-tutorial-deleting-adapter"></a>

您可以刪除個別轉接器，或刪除專案。您必須刪除專案中的每一個轉接器，才能刪除專案本身。

1. 若要刪除與專案相關聯的轉接器，請選擇轉接器，然後選擇**刪除**。

1. 若要刪除專案，請選擇您要刪除的專案，然後選擇**刪除**。

# 評估和改善您的轉接器
<a name="using-adapters-evaluating-improving"></a>

在每一輪轉接器訓練之後，您會想要檢閱 Rekognition 主控台工具中的效能指標，以判斷轉接器與您想要的效能等級有多接近。然後，您可以通過上傳一批新的訓練映像並在專案中訓練新的轉接器，來進一步提高轉接器的映像準確性。建立改良版的轉接器之後，您可以使用主控台刪除不再需要的任何舊版轉接器。

您也可以使用 [DescribeProjectVersions](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions.html) API 操作擷取指標。

## 效能指標
<a name="using-adapters-performance-metrics"></a>

完成訓練程序並建立轉接器之後，評估轉接器從映像擷取資訊的程度非常重要。

Rekognition 主控台提供了兩個指標，可協助您分析轉接器的效能：偽陽性改善和偽陰性改善。

您可以選取主控台轉接器部分的「轉接器效能」標籤，來檢視任何轉接器的這些指標結果。轉接器效能面板會顯示您建立之轉接器的偽陽性改善率和偽陰性改善率。

偽陰性改善措施會衡量轉接器對偽陰性的辨識，在基礎模型上有多少改善。如果偽陰性改善值為 25%，表示轉接器在測試資料集上將偽陰性的辨識提升 25%。

偽陰性改善措施會衡量轉接器對偽陰性的辨識，在基礎模型上有多少改善。如果偽陰性改善值為 25%，表示轉接器在測試資料集上將其對偽陰性的辨識提高 25%。

按標籤效能標籤可用來比較轉接器和基礎模型在每個標籤類別上的效能。該標籤顯示了基本模型和轉接器的偽陽性和偽陰性預測的計數，按標籤類別分層。透過檢閱這些指標，您可以判斷轉接器需要改進的位置。

例如，如果酒精標籤類別的基本型號假陰性率為 15，而轉接器假陰性率為 15 或更高，您就知道在建立新轉接器時應該專注於新增更多含有酒精標籤的映像。

使用 Rekognition API 操作時，會在呼叫 [DescribeProjectVersions](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions.html) 操作時傳回 F1 分數指標。

## 改善模型
<a name="using-adapters-improving-model"></a>

轉接器部署是一個反覆的程序，因為您可能需要多次訓練轉接器，才能達到目標的準確度。建立並訓練轉接器之後，您會想要在各種類型的標籤上測試和評估轉接器的效能。

如果您的轉接器在任何區域都缺乏準確度，請新增這些映像的新範例，以提高轉接器對這些標籤的效能。嘗試為轉接器提供額外、多樣的範例，這些範例會反映其存在困境的情況。為您的轉接器提供具代表性、多樣化的映像，讓它能夠處理各種實際範例。

將新映像新增至訓練組後，請重新訓練轉接器，然後重新評估測試集和標籤。重複此程序，直到轉接器達到您想要的效能等級為止。如果您提供更具代表性的映像和註釋，則誤報和誤負評分。將在連續的訓練迭代中逐漸改進。

# 清單檔案格式
<a name="using-adapters-manifest-files"></a>

以下各節顯示輸入、輸出和評估檔案的資訊清單檔案格式範例。

## 輸入資訊清單檔案
<a name="using-adapters-manifest-files-input"></a>

資訊清單檔案是以 JSON 線分隔的檔案，每一行都包含一個 JSON，其中包含單一映像的相關資訊。

輸入資訊清單檔案中的每個專案都必須包含具有 Amazon S3 儲存貯體中映像路徑的 `source-ref` 欄位，而對於自訂管制，則包含基本註釋的 `content-moderation-groundtruth` 欄位。一個資料集中的所有映像都預期位於同一個儲存貯體中。訓練和測試資訊清單檔案都是通用的結構。

自訂管制的 `CreateProjectVersion` 操作會使用「輸入資訊清單」中提供的資訊來訓練轉接器。

下列範例是包含不安全類別之單一映像的資訊清單檔案的一行：

```
{
   "source-ref": "s3://foo/bar/1.jpg",
   "content-moderation-groundtruth": {
        "ModerationLabels": [
            { 
                "Name": "Rude Gesture"
            }
        ]
   }
}
```

下列範例是單一不安全映像的資訊清單檔案，其中包含多個不安全類別，特別是裸露和粗魯手勢。

```
{
   "source-ref": "s3://foo/bar/1.jpg",
   "content-moderation-groundtruth": {
        "ModerationLabels": [
            { 
                "Name": "Rude Gesture"
            },
            {
                "Name": "Nudity"
            }
        ]
   }
}
```

下列範例是不包含任何不安全類別的單一映像的資訊清單檔案的一行：

```
{
   "source-ref": "s3://foo/bar/1.jpg",
   "content-moderation-groundtruth": {
        "ModerationLabels": []
   }
}
```

如需支援標籤的完整清單，請參閱[內容管制](https://docs.aws.amazon.com/rekognition/latest/dg/moderation.html)。



## 輸出資訊清單檔案
<a name="using-adapters-manifest-files-output"></a>

訓練工作完成後，會傳回輸出資訊清單檔案。輸出資訊清單檔案是 JSON 線上分隔的檔案，其中每一行都包含儲存單一映像資訊的 JSON。Amazon S3 OutputManifest 路徑可從 `DescribeProjectVersion` 回應中取得：
+  `TrainingDataResult.Output.Assets[0].GroundTruthManifest.S3Object` 用於訓練資料集 
+  `TestingDataResult.Output.Assets[0].GroundTruthManifest.S3Object` 用於測試資料集 

會針對「輸出資訊清單」中的每個項目傳回下列資訊：


|  |  | 
| --- |--- |
| Key Name | Description | 
|  來源參考  | Reference to an image in s3 that was provided in the input maniefst | 
|  內容管制-基本真相  | Ground truth annotations that were provided in the input manifest | 
|  偵測管制-標籤  | Adapter predictions, part of the testing dataset only | 
|  偵測管制-基於標籤的模型  | Base model predictions, part of the testing dataset only | 

轉接器和基本模型預測會以 ConfidenceTrehsold 5.0 的格式，其格式類似於 [DetectModerationLabel](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectModerationLabels.html) 回應。

下列範例顯示轉接器和基礎模型預測的結構：

```
{
   "ModerationLabels": [ 
      { 
         "Confidence": number,
         "Name": "string",
         "ParentName": "string"
      }
   ],
   "ModerationModelVersion": "string",
   "ProjectVersion": "string"
}
```

如需傳回標籤的完整清單，請參閱[內容管制](https://docs.aws.amazon.com/rekognition/latest/dg/moderation.html)。

## 評估結果資訊清單
<a name="using-adapters-manifest-files-eval"></a>

訓練工作完成後，會傳回評估結果資訊清單檔案。評估結果資訊清單是訓練工作所輸出的 JSON 檔案，其中包含轉接器對測試資料執行情況的相關資訊。

Amazon S3 評估結果路徑資訊清單的 Amazon S3 路徑可從 DescribeProejctVersion 回應中的 `EvaluationResult.Summary.S3Object` 欄位取得。

下列範例說明評估結果的資訊清單檔案結構：

```
{
    "AggregatedEvaluationResults": {
       "F1Score": number
    },

    "EvaluationDetails": {
        "EvaluationEndTimestamp": "datetime",
        "Labels": [
            "string"
        ],
        "NumberOfTestingImages": number,
        "NumberOfTrainingImages": number,
        "ProjectVersionArn": "string"
    },

    "ContentModeration": {
        "InputConfidenceThresholdEvalResults": {
            "ConfidenceThreshold": float,
            "AggregatedEvaluationResults": {
                "BaseModel": {
                    "TruePositive": int,
                    "TrueNegative": int,
                    "FalsePositive": int,
                    "FalseNegative": int
                },
                "Adapter": {
                    "TruePositive": int,
                    "TrueNegative": int,
                    "FalsePositive": int,
                    "FalseNegative": int
                }
            },
            "LabelEvaluationResults": [
                {
                    "Label": "string",
                    "BaseModel": {
                        "TruePositive": int,
                        "TrueNegative": int,
                        "FalsePositive": int,
                        "FalseNegative": int
                    },
                    "Adapter": {
                        "TruePositive": int,
                        "TrueNegative": int,
                        "FalsePositive": int,
                        "FalseNegative": int
                    }
                }
            ]
        }
        "AllConfidenceThresholdsEvalResults": [
            {
                "ConfidenceThreshold": float,
                "AggregatedEvaluationResults": {
                    "BaseModel": {
                        "TruePositive": int,
                        "TrueNegative": int,
                        "FalsePositive": int,
                        "FalseNegative": int
                    },
                    "Adapter": {
                        "TruePositive": int,
                        "TrueNegative": int,
                        "FalsePositive": int,
                        "FalseNegative": int
                    }
                },
                "LabelEvaluationResults": [
                    {
                       "Label": "string",
                        "BaseModel": {
                            "TruePositive": int,
                            "TrueNegative": int,
                            "FalsePositive": int,
                            "FalseNegative": int
                        },
                        "Adapter": {
                            "TruePositive": int,
                            "TrueNegative": int,
                            "FalsePositive": int,
                            "FalseNegative": int
                        }
                    }
                ]
            }
        ]
    }
}
```

評估資訊清單檔案包含：
+ `F1Score` 定義的彙總結果 
+ 評估工作的詳細資料，包括 ProjectVersionArn、訓練映像數量、測試映像數量，以及轉接器訓練所在的標籤。
+ 針對基礎模型和轉接器效能的彙總 TruePositive、TrueNegative、FalsePositive 和 FalseNegative 結果。
+ 針對基礎模型和轉接器效能的每個標籤 TruePositive、TrueNegative、FalsePositive 和 FalseNegative 結果，根據輸入可信度閾值進行計算。
+ 在不同的可信度閾值下，針對基礎模型和轉接器效能的彙總和每個標籤 TruePositive、TrueNegative、FalsePositive 和 FalseNegative 結果。可信度閾值的範圍從 5 到 100，增值幅度為 5。

# 訓練轉接器的最佳實務
<a name="using-adapters-best-practices"></a>

建議您在建立、訓練和使用轉接器時遵守最佳作法：



1.  範例映像資料應擷取客戶想要隱藏的代表性錯誤。如果模型在視覺上相似的映像上重複犯錯誤，請確保帶上許多此類映像進行培訓。

1.  而不是只引入模型在特定管制標籤上錯誤的映像，而是要確保引入映像，表示該模型不會在該管制標籤上發生錯誤。

1.  提供至少 50 個偽陰性樣本或 20 個偽陽性樣本用於訓練，以及至少 20 個樣本用於測試。但是，請盡可能提供許多帶註釋的映像，以獲得更好的轉接器性能。

1.  為所有映像重要的所有標籤加上註解：如果您決定需要為映像上的標籤出現加上註解，請務必在所有其他映像上為此標籤出現的專案加上註解。

1.  範例映像資料應在標籤上包含盡可能多的變化，重點放在代表生產設定中分析之映像的執行個體。

# 設定 AutoUpdate 許可
<a name="using-adapters-autoupdate"></a>

Rekognition 支援自訂轉接器的 AutoUpdate 特徵。這意味著自動化再培訓會在專案上啟用 AutoUpdate 標誌時給予最佳的努力嘗試。這些自動更新需要許可，才能存取您的訓練/測試資料集，以及您用來訓練客戶轉接器的 AWS KMS 金鑰。您可以按照以下步驟提供這些許可。



## Amazon S3 儲存貯體許可
<a name="using-adapters-autoupdate-s3"></a>

 根據預設，所有 Amazon S3 儲存貯體和物件皆為私有。只有資源擁有者、建立儲存貯體 AWS 的帳戶，才能存取儲存貯體及其包含的任何物件。不過，資源擁有者可藉由編寫儲存貯體政策，選擇將存取許可授予其他資源或使用者。

 如果您要建立或修改 Amazon S3 儲存貯體以作為輸入資料集的來源，並在自訂轉接器訓練中使用訓練目的地，則需進一步修改儲存貯體政策。若要讀取或寫入 Amazon S3 儲存貯體，Rekognition 必須具備下列許可。

**需要 Rekognition Amazon S3 政策**

Rekognition 需要具有下列屬性的許可原則：
+ 陳述式 (SID)
+ 儲存貯體名稱
+ Rekognition 的服務主體名稱。
+ Rekognition、儲存貯體及其所有內容所需的資源
+ Rekognition 需要採取的必要動作。

下列政策允許 Rekognition 在自動化再訓練期間存取 Amazon S3 儲存貯體。

```
{
    "Statement": [
        {
            "Effect": "Allow",
            "Sid": "AllowRekognitionAutoUpdateActions",
            "Principal": {
                "Service": "rekognition.amazonaws.com"
            },
            "Action": [
                "s3:ListBucket",
                "s3:GetObject",
                "s3:PutObject",
                "s3:HeadObject",
                "s3:HeadBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

您可以按照[本指南](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html)將上述儲存貯體政策新增至 S3 儲存貯體。

請參閱 [此](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html) 儲存貯體政策的詳細資訊。

## AWS KMS 金鑰許可
<a name="using-adapters-autoupdate-KMS"></a>

 Rekognition 可讓您在訓練自訂轉接器時提供選用的 KmsKeyId。若有提供，Rekognition 會使用此金鑰來加密複製到服務中的訓練和測試映像，以進行模型訓練。此金鑰也可用來加密寫入輸出 Amazon S3 儲存貯體 (OutputConfig) 的訓練結果和資訊清單檔案。

 如果您選擇提供 KMS 金鑰做為自訂轉接器訓練 (亦即`Rekognition:CreateProjectVersion`) 的輸入，則必須進一步修改 KMS 金鑰政策，以允許 Rekognition 服務主體在未來使用此金鑰進行自動重新訓練。Rekognition 必須具有下列許可。

**Rekognition 必要 AWS KMS 金鑰政策**

Amazon Rekognition 需要具有下列屬性的許可政策：
+ 陳述式 (SID)
+ Amazon Rekognition 的服務主體名稱。
+ Amazon Rekognition 需要採取的必要動作。

下列金鑰政策允許 Amazon Rekognition 訓練期間存取 Amazon KMS 金鑰：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "KeyPermissions",
            "Effect": "Allow",
            "Principal": {
                "Service": "rekognition.amazonaws.com"
            },
            "Action": [
                "kms:DescribeKey",
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "*"
        }
    ]
}
```

------

您可以遵循[本指南](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html)，將上述 AWS KMS 政策新增至您的 AWS KMS 金鑰。

如需 AWS KMS 政策的詳細資訊，請參閱[此處](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。

# AWS Rekognition 的運作狀態儀表板概念
<a name="using-adapters-health-notification"></a>

 您的 AWS 運作狀態儀表板支援來自 Rekognition 的通知。這些通知提供 Rekognition 模型中可能會影響您應用程式排程變更的感知和補救指引。目前只有 Rekognition 內容管制特徵特定的事件可用。

 AWS 運作狀態儀表板是 AWS 運作狀態服務的一部分。其不需要設定，而且您帳戶中經過驗證的任何使用者皆可檢視。如需更多資訊，請參閱 [AWS Health 儀板表入門](https://docs.aws.amazon.com/health/latest/ug/getting-started-phd.html)。

如果您收到的訊息類似以下訊息，應該將其視為警示，以便採取動作。

**範例通知：新的模型版本可用於 Rekognition 內容管制。**

Rekognition 會將`AWS_MODERATION_MODEL_VERSION_UPDATE_NOTIFICATION`事件發佈至 AWS 運作狀態儀表板，以指出已發行新版本的管制模型。如果您使用 DetectModerationLabels API 和配接器搭配此 API，此事件很重要。根據您的使用案例，新模型可能會影響品質，最終會取代先前的模型版本。建議您驗證模型品質，並在收到此警示時瞭解模型更新時間表。

如果您收到模型版本更新通知，則應將其視為要採取動作的警示。如果您不使用轉接器，則應該根據現有使用案例評估更新模型的品質。如果您使用轉接器，您應該使用更新的型號來訓練新的轉接器，並評估其品質。如果您有自動傳輸設定，新的轉接器將會自動進行訓練，然後可以評估其品質。

```
{
   "version": "0",
    "id": "id-number",
    "detail-type": "AWS Health Event",
    "source": "aws.health",
    "account": "123456789012",
    "time": "2023-10-06T06:27:57Z",
    "region": "region",
    "resources": [],
    "detail": {
        "eventArn": "arn:aws:health:us-east-1::event/AWS_MODERATION_MODEL_UPDATE_NOTIFICATION_event-number",
        "service": "Rekognition",
        "eventTypeCode": "AWS_MODERATION_MODEL_VERSION_UPDATE_NOTIFICATION",
        "eventScopeCode": "ACCOUNT_SPECIFIC",
        "communicationId": "communication-id-number",
        "eventTypeCategory": "scheduledChange",
        "startTime": "Fri, 05 Apr 2023 12:00:00 GMT",
        "lastUpdatedTime": "Fri, 05 Apr 2023 12:00:00 GMT",
        "statusCode": "open",
        "eventRegion": "us-east-1",
        "eventDescription": [
            {
                "language": "en_US",
                "latestDescription": "A new model version is available for Rekognition Content Moderation."
            }
        ]
    }
}
```

 請參閱[使用 Amazon EventBridge 監控 AWS 運作狀態事件](https://docs.aws.amazon.com/health/latest/ug/cloudwatch-events-health.html)，以使用 EventBridge 偵測和回應 AWS 運作狀態事件。