モデルのタグ付け - Rekognition

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

モデルのタグ付け

タグを使用して、Amazon Rekognition モデルを識別、整理、検索、フィルタリングできます。各タグは、ユーザー定義のキーと値で構成されるラベルです。例えば、モデルの請求額を決定しやすくするために、モデルに Cost center キーでタグ付けし、適切なコストセンター番号を値として追加します。詳細については、 「AWS リソースにタグ付けする」を参照してください。

タグを使用して、次の操作を行います。

Amazon Rekognition コンソールを使用するか、AWS SDK を使用することにより、モデルにタグ付けすることができます。

モデルのタグ付け (コンソール)

Rekognition コンソールを使用して、モデルへのタグの追加、モデルに追加されたタグの表示、タグの削除を行うことができます。

タグの追加または削除

この手順では、既存のモデルにタグを追加する方法、または既存のモデルからタグを削除する方法について説明します。トレーニング中に新しいモデルにタグを追加することもできます。詳細については、「Amazon Rekognition Custom Labels モデルをトレーニングする」を参照してください。

コンソールを使用して既存のモデルにタグを追加または削除するには
  1. Amazon Rekognition コンソールを https://console.aws.amazon.com/rekognition/ で開きます。

  2. [Get started] (開始方法) を選択します。

  3. ナビゲーションペインで、[Projects] (プロジェクト)を選択します。

  4. [Projects] (プロジェクト) リソースページで、タグ付けしたいモデルを含むプロジェクトを選択します。

  5. ナビゲーションペインの、以前に選択したプロジェクトの下で、[Models] (モデル) を選択します。

  6. [Models] (モデル) セクションで、タグを追加するモデルを選択します。

  7. モデルの詳細ページで、[Tags] (タグ) タブを選択します。

  8. [Tags] (タグ)タブで、[Manage tags] (タグの管理)を選択します。

  9. [Manage tags] (タグの管理) ページで、[Add new tag] (タグの追加) を選択します。

  10. キーと値を入力します。

    1. [Key] (キー) に、キーの名前を入力します。

    2. [Value] (値)に値を入力します。

  11. さらにタグを追加するには、手順 9~10 を繰り返します。

  12. (オプション) タグを削除するには、削除したいタグの横にある[Remove] (削除) を選択します。以前に保存したタグを削除する場合、変更を保存するとそのタグが削除されます。

  13. [Save changes] (変更の保存)を選択して、変更を保存します。

モデルのタグの表示

Amazon Rekognition コンソールを使用して、モデルに追加されているタグを表示できます。

プロジェクト内のすべてのモデルに追加されたタグを表示するには、AWS SDK を使用する必要があります。詳細については、「モデルタグの一覧表示」を参照してください。

モデルに追加されたタグを表示するには
  1. Amazon Rekognition コンソールを https://console.aws.amazon.com/rekognition/ で開きます。

  2. [Get started] (開始方法) を選択します。

  3. ナビゲーションペインで、[Projects] (プロジェクト)を選択します。

  4. [Projects] (プロジェクト) リソースページで、タグを表示したいモデルを含むプロジェクトを選択します。

  5. ナビゲーションペインの、以前に選択したプロジェクトの下で、[Models] (モデル) を選択します。

  6. [Models] (モデル) セクションで、タグを表示するモデルを選択します。

  7. モデルの詳細ページで、[Tags] (タグ) タブを選択します。タグは[Tags] (タグ) セクションに示されています。

モデルのタグ付け (SDK)

AWS SDKを使用することで、以下のことが可能になります。

  • 新しいモデルにタグを追加する

  • 既存のモデルにタグを追加する

  • モデルに追加されたタグを一覧表示する

  • モデルからタグを削除する

次の AWS CLI の例のタグ形式は次のとおりです。

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

または、この形式を使用することもできます。

--tags key1=value1,key2=value2

AWS CLI をまだインストールしていない場合は、「ステップ 4: AWS CLI と AWS SDKsを設定する」を参照してください。

新しいモデルへのタグの追加

CreateProjectVersion オペレーションを使用することにより、作成時に、モデルにタグを追加することもできます。Tags 配列入力パラメータで 1 つ以上のタグを指定します。

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)」 を参照してください。

既存のモデルへのタグの追加

既存のモデルに 1 つ以上のタグを追加するには、[TagResource] (タグリソース) オペレーションを使用します。モデルの Amazon リソースネーム (ARN) (ResourceArn) と、追加したいタグ (Tags) を指定します。次の例は、2 つのタグを追加する方法を示しています。

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

CreateProjectVersion を呼び出すことにより、モデルの ARN を取得できます。

モデルタグの一覧表示

モデルに追加されたタグを一覧表示するには、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 でモデルのリストを取得します。次に、DescribeProjectVersions からの応答で各モデルに対して ListTagsForResource を呼び出します。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. コマンドプロンプトで次のコマンドを入力します。[key][value] を検索するキー名とキー値に置き換えます。

    python find_tag.py key value

モデルからタグを削除する

1 つ以上のタグを削除するには、[UntagResource] (アンタグリソース) オペレーションを使用します。モデル (ResourceArn) の ARN と削除したいタグキー (Tag-Keys) を指定します。

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

または、次の形式で tag-keys を指定できます。

--tag-keys key1,key2