本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為模型加上標籤
您可以使用標籤來識別、組織、搜尋和篩選 Amazon Rekognition 模型。每個標籤都是由使用者定義的津要和值組成的標籤。例如,若要協助判斷模型的計費方式,請使用Cost center
金鑰標記模型,並新增適當的成本中心編號作為值。如需詳細資訊,請參閱標記 AWS 資源。
使用標籤可:
-
使用成本分配標籤追蹤模型的帳單。如需詳細資訊,請參閱使用成本分配標籤。
-
使用身分和存取權限 (IAM) 控制對模型的存取權限。如需詳細資訊,請參閱使用AWS資源標籤控制對資源的存取權限。
-
自動化模型管理。例如,您可以執行自動啟動或停止指令碼,在非上班時間關閉開發模型以降低成本。如需詳細資訊,請參閱執行培訓過的 Amazon Rekognition 自訂標籤模型。
您可以使用 Amazon Rekognition 主控台或使用AWS軟體開發套件來標記模型。
標記模型 (主控台)
您可以使用 Rekognition 主控台為模型新增標籤、檢視附加至模型的標籤,以及移除標籤。
新增或移除標籤
此程序說明如何在現有模型中新增標籤或從中移除標籤。您也可以在訓練後將標籤新增到新模型。如需詳細資訊,請參閱訓練 Amazon Rekognition 自訂標籤模型。
使用主控台將標籤新增至現有模型或從中移除標籤
-
開啟亞馬遜重新認知主控台,網址為 https://console.aws.amazon.com/rekognition/
。 -
選擇 Get started (開始使用)。
-
在導覽窗格中,選擇 Projects (專案)。
-
在 Pro jects Resource (Projects) 頁面上,選擇包含您想要您想要標籤的模型的專案。
-
在導覽窗格中,選擇您先前選擇的專案下,選擇 Models (模型)。
-
在「模型」區段中,選擇您要新增標籤的模型。
-
在模型的詳細資訊頁面上,選擇 Tags (標籤) 索引標籤。
-
在 Tags (標籤) 區段中,選擇 Manage tags (管理標籤)。
-
在「管理標籤」頁面上,選擇「新增標籤」。
-
輸入索引鍵和值。
-
針對 Key (索引鍵),輸入金鑰的名稱。
-
針對 Value (值),輸入值。
-
-
若要新增更多標籤,請重複步驟 9 和 10。
-
(選擇性) 若要移除標籤,請在您想要移除的標籤旁邊選擇 Remove (選擇性)。如果您要移除先前儲存的標籤,則會在您儲存變更時移除該標籤。
-
請選擇 Save changes (儲存變更) 儲存您所做的變更。
檢視模型標籤
您可以使用 Amazon Rekognition 主控台來檢視連接至模型的標籤。
若要檢視專案內所有模型附加的標籤,您必須使用 AWS 開發套件。如需詳細資訊,請參閱列出模型標籤。
檢視連接至模型的標籤
-
開啟亞馬遜重新認知主控台,網址為 https://console.aws.amazon.com/rekognition/
。 -
選擇 Get started (開始使用)。
-
在導覽窗格中,選擇 Projects (專案)。
-
在 [專案資源] 頁面上,選擇包含您要檢視其標籤之模型的專案。
-
在導覽窗格中,選擇您先前選擇的專案下,選擇 Models (模型)。
-
在 Mo de ations (模型) 部分,選擇您想要檢視其標籤的模型。
-
在模型的詳細資訊頁面上,選擇 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-nameversion_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,其中一個匹配的密鑰被發現。
若要搜尋標籤值
-
將下列程式碼儲存為名為的檔案
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()
-
在命令提示中,輸入以下內容。將
鍵
和值
替換為您要查找的鍵名和鍵值。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