為模型加上標籤 - Rekognition

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

為模型加上標籤

您可以使用標籤來識別、組織、搜尋和篩選 Amazon Rekognition 模型。每個標籤都是由使用者定義的津要和值組成的標籤。例如,若要協助判斷模型的計費方式,請使用Cost center金鑰標記模型,並新增適當的成本中心編號作為值。如需詳細資訊,請參閱標記 AWS 資源

使用標籤可:

您可以使用 Amazon Rekognition 主控台或使用AWS軟體開發套件來標記模型。

標記模型 (主控台)

您可以使用 Rekognition 主控台為模型新增標籤、檢視附加至模型的標籤,以及移除標籤。

新增或移除標籤

此程序說明如何在現有模型中新增標籤或從中移除標籤。您也可以在訓練後將標籤新增到新模型。如需詳細資訊,請參閱訓練 Amazon Rekognition 自訂標籤模型

使用主控台將標籤新增至現有模型或從中移除標籤
  1. 開啟亞馬遜重新認知主控台,網址為 https://console.aws.amazon.com/rekognition/

  2. 選擇 Get started (開始使用)。

  3. 在導覽窗格中,選擇 Projects (專案)

  4. 在 Pro jects Resource (Projects) 頁面上,選擇包含您想要您想要標籤的模型的專案。

  5. 在導覽窗格中,選擇您先前選擇的專案下,選擇 Models (模型)。

  6. 在「模」區段中,選擇您要新增標籤的模型。

  7. 在模型的詳細資訊頁面上,選擇 Tags (標籤) 索引標籤。

  8. Tags (標籤) 區段中,選擇 Manage tags (管理標籤)

  9. 在「管理標籤」頁面上,選擇「新增標籤」。

  10. 輸入索引鍵和值。

    1. 針對 Key (索引鍵),輸入金鑰的名稱。

    2. 針對 Value (值),輸入值。

  11. 若要新增更多標籤,請重複步驟 9 和 10。

  12. (選擇性) 若要移除標籤,請在您想要移除的標籤旁邊選擇 Remove (選擇性)。如果您要移除先前儲存的標籤,則會在您儲存變更時移除該標籤。

  13. 請選擇 Save changes (儲存變更) 儲存您所做的變更。

檢視模型標籤

您可以使用 Amazon Rekognition 主控台來檢視連接至模型的標籤。

若要檢視專案內所有模型附加的標籤,您必須使用 AWS 開發套件。如需詳細資訊,請參閱列出模型標籤

檢視連接至模型的標籤
  1. 開啟亞馬遜重新認知主控台,網址為 https://console.aws.amazon.com/rekognition/

  2. 選擇 Get started (開始使用)。

  3. 在導覽窗格中,選擇 Projects (專案)

  4. 在 [專案資源] 頁面上,選擇包含您要檢視其標籤之模型的專案。

  5. 在導覽窗格中,選擇您先前選擇的專案下,選擇 Models (模型)。

  6. 在 Mo de ations (模型) 部分,選擇您想要檢視其標籤的模型。

  7. 在模型的詳細資訊頁面上,選擇 Tags (標籤) 索引標籤。標籤會顯示在「標籤」區段中。

標記模型 (SDK)

您可以使用AWS SDK 來:

  • 將標籤新增到新模型

  • 將標籤新增到現有模型

  • 列出附加到模型的標籤

  • 從模型移除標籤

下列AWS CLI範例中的標籤格式如下。

--tags '{"key1":"value1","key2":"value2"}'

或者,您可以使用此格式。

--tags key1=value1,key2=value2

如果您尚未安裝AWS CLI,請參閱步驟 4:設定 AWS CLI 和開 AWS 發套件

將標籤新增到新模型

您可以在您建立模型時,將標籤新增到模型中CreateProjectVersion。在Tags陣列輸入參數中指定一或多個標籤。

aws rekognition create-project-version --project-arn project arn \ --version-name version_name \ --output-config '{ "S3Location": { "Bucket": "output bucket", "Prefix": "output folder" } }' \ --tags '{"key1":"value1","key2":"value2"}' \ --profile custom-labels-access

如需建立和訓練模型的資訊,請參閱訓練模型 (SDK)

將標籤新增到現有模型

若要將一或多個標籤新增至現有模型,請使用此TagResource作業。指定要您想要新增的模型的 Amazon Resource Name (ARNResourceArn) (Tags) 和您想要新增的標籤 ()。以下範例將說明如何新增兩個標籤。

aws rekognition tag-resource --resource-arn resource-arn \ --tags '{"key1":"value1","key2":"value2"}' \ --profile custom-labels-access

您可以通過調用來獲取模型的 ARN CreateProjectVersion

列出模型標籤

若要列出貼附至模型的標籤,請使用ListTagsForResource操作並指定模型的 ARN (ResourceArn)。響應是連接到指定模型標籤鍵和值的映射。

aws rekognition list-tags-for-resource --resource-arn resource-arn \ --profile custom-labels-access

輸出會顯示連接至模型的標籤清單。

{ "Tags": { "Dept": "Engineering", "Name": "Ana Silva Carolina", "Role": "Developer" } }

要查看項目中哪些模型具有特定標籤,請調用DescribeProjectVersions以獲取模型列表。然後在響應中調ListTagsForResource用每個模型DescribeProjectVersions。檢查來源的響應ListTagsForResource以查看是否存在所需的標籤。

下面的 Python 3 示例顯示了如何搜索所有項目的特定標籤鍵和值。輸出包括項目 ARN 和模型 ARN,其中一個匹配的密鑰被發現。

若要搜尋標籤值
  1. 將下列程式碼儲存為名為的檔案find_tag.py

    # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 """ Purpose Shows how to find a tag value that's associated with models within your Amazon Rekognition Custom Labels projects. """ import logging import argparse import boto3 from botocore.exceptions import ClientError logger = logging.getLogger(__name__) def find_tag_in_projects(rekognition_client, key, value): """ Finds Amazon Rekognition Custom Label models tagged with the supplied key and key value. :param rekognition_client: An Amazon Rekognition boto3 client. :param key: The tag key to find. :param value: The value of the tag that you want to find. return: A list of matching model versions (and model projects) that were found. """ try: found_tags = [] found = False projects = rekognition_client.describe_projects() # Iterate through each project and models within a project. for project in projects["ProjectDescriptions"]: logger.info("Searching project: %s ...", project["ProjectArn"]) models = rekognition_client.describe_project_versions( ProjectArn=(project["ProjectArn"]) ) for model in models["ProjectVersionDescriptions"]: logger.info("Searching model %s", model["ProjectVersionArn"]) tags = rekognition_client.list_tags_for_resource( ResourceArn=model["ProjectVersionArn"] ) logger.info( "\tSearching model: %s for tag: %s value: %s.", model["ProjectVersionArn"], key, value, ) # Check if tag exists. if key in tags["Tags"]: if tags["Tags"][key] == value: found = True logger.info( "\t\tMATCH: Project: %s: model version %s", project["ProjectArn"], model["ProjectVersionArn"], ) found_tags.append( { "Project": project["ProjectArn"], "ModelVersion": model["ProjectVersionArn"], } ) if found is False: logger.info("No match for Tag %s with value %s.", key, value) return found_tags except ClientError as err: logger.info("Problem finding tags: %s. ", format(err)) raise def main(): """ Entry point for example. """ logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") # Set up command line arguments. parser = argparse.ArgumentParser(usage=argparse.SUPPRESS) parser.add_argument("tag", help="The tag that you want to find.") parser.add_argument("value", help="The tag value that you want to find.") args = parser.parse_args() key = args.tag value = args.value print(f"Searching your models for tag: {key} with value: {value}.") session = boto3.Session(profile_name='custom-labels-access') rekognition_client = session.client("rekognition") # Get tagged models for all projects. tagged_models = find_tag_in_projects(rekognition_client, key, value) print("Matched models\n--------------") if len(tagged_models) > 0: for model in tagged_models: print( "Project: {project}\nModel version: {version}\n".format( project=model["Project"], version=model["ModelVersion"] ) ) else: print("No matches found.") print("Done.") if __name__ == "__main__": main()
  2. 在命令提示中,輸入以下內容。將替換為您要查找的鍵名和鍵值。

    python find_tag.py key value

從模型刪除標籤

若要移除模型的一或多個標籤,請使用該UntagResource操作。指定要移除的模型 (ResourceArn) 和標籤鍵 (Tag-Keys) 的 ARN。

aws rekognition untag-resource --resource-arn resource-arn \ --tag-keys '["key1","key2"]' \ --profile custom-labels-access

或者,您可以使用此tag-keys格式指定。

--tag-keys key1,key2