

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Balisage d’un modèle
<a name="tm-tagging-model"></a>

Vous pouvez identifier, organiser, rechercher et filtrer les collections Amazon Rekognition à l’aide de balises. Chaque balise est une étiquette composée d’une clé définie par l’utilisateur et d’une valeur. Par exemple, pour déterminer la facturation de vos modèles, balisez-les avec une clé `Cost center` et ajoutez le numéro de centre de coûts approprié sous forme de valeur. Pour plus d’informations, consultez [Balisage des ressources AWS](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html).

Utilisez des balises pour :
+ Suivre la facturation d’un modèle à l’aide des balises de répartition des coûts. Pour plus d’informations, consultez [Utilisation des balises de répartition des coûts](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html).
+ Contrôler l’accès à un modèle à l’aide de Gestion des identités et des accès (IAM). Pour plus d’informations, consultez [Contrôle de l’accès aux ressources AWS à l’aide de balises de ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).
+ Automatiser la gestion des modèles. Par exemple, vous pouvez exécuter des scripts automatisés de départ ou d’arrêt qui désactivent les modèles de développement en dehors des heures ouvrables afin de réduire les coûts. Pour de plus amples informations, veuillez consulter [Exécution d’un modèle Étiquettes personnalisées Amazon Rekognition entraîné](running-model.md). 

Vous pouvez étiqueter les modèles à l'aide de la console Amazon Rekognition ou à l'aide du. AWS SDKs 

**Topics**
+ [Balisage de modèles (console)](#tm-tagging-model-console)
+ [Affichage des balises de modèle](#tm-tagging-model-viewing-console)
+ [Balisage de modèles (kit SDK)](#tm-tagging-model-sdk)

## Balisage de modèles (console)
<a name="tm-tagging-model-console"></a>

Vous pouvez utiliser la console Rekognition pour ajouter des balises aux modèles, afficher les balises jointes à un modèle et supprimer des balises. 

### Ajout ou suppression de balises
<a name="tm-tagging-model-add-remove-console"></a>

Cette procédure explique comment ajouter des balises à un modèle existant ou en supprimer. Vous pouvez également ajouter des balises à un nouveau modèle lorsqu’il est entraîné. Pour plus d’informations, consultez [Entraînement d’un modèle Étiquettes personnalisées Amazon Rekognition](training-model.md). 

**Pour ajouter ou supprimer des balises à un modèle existant à l’aide de la console**

1. Ouvrez la console Amazon Rekognition à l'adresse. [ https://console.aws.amazon.com/rekognition/]( https://console.aws.amazon.com/rekognition/)

1. Choisissez **Démarrer**. 

1. Dans le panneau de navigation, choisissez **Projects (Projets)**.

1. Sur la page des ressources **Projets**, choisissez le projet qui contient le modèle entraîné que vous souhaitez baliser.

1. Dans le volet de navigation, sous le projet que vous avez choisi précédemment, choisissez **Modèles**.

1. Dans la section **Modèles**, choisissez le modèle auquel vous souhaitez ajouter une balise. 

1. Sur la page de détails du modèle, choisissez l’onglet **Balises**. 

1. Dans la section **Balises** choisissez **Gérer les balises**.

1. Sur la page **Gérer les balises**, choisissez **Ajouter une nouvelle balise**.

1. Saisissez une clé et une valeur.

   1. Pour **Clé**, saisissez le nom de la clé.

   1. Pour **Valeur**, entrez une valeur.

1. Pour ajouter d’autres balises, répétez les étapes 9 et 10.

1. (Facultatif) Pour supprimer une balise, choisissez **Supprimer** en regard de la balise que vous souhaitez supprimer. Si vous supprimez une balise précédemment enregistrée, elle sera supprimée lorsque vous enregistrerez vos modifications. 

1. Choisissez **Enregistrer les Modifications** pour enregistrer vos Modifications.

## Affichage des balises de modèle
<a name="tm-tagging-model-viewing-console"></a>

Vous pouvez utiliser la console Amazon Rekognition pour afficher les balises jointes à un modèle.

Pour afficher les balises jointes à *tous les modèles d’un projet*, vous devez utiliser le kit AWS SDK. Pour plus d’informations, consultez [Établissement de la liste des balises de modèle](#listing-model-tags-sdk).

**Pour afficher les balises jointes à un modèle**

1. Ouvrez la console Amazon Rekognition à l'adresse. [ https://console.aws.amazon.com/rekognition/]( https://console.aws.amazon.com/rekognition/)

1. Choisissez **Démarrer**. 

1. Dans le panneau de navigation, choisissez **Projects (Projets)**.

1. Sur la page des ressources **Projets**, choisissez le projet qui contient le modèle entraîné que vous souhaitez afficher.

1. Dans le volet de navigation, sous le projet que vous avez choisi précédemment, choisissez **Modèles**.

1. Dans la section **Modèles**, choisissez le modèle dont vous souhaitez afficher la balise. 

1. Sur la page de détails du modèle, choisissez l’onglet **Balises**. Les balises sont affichées dans la section **Balises**.

## Balisage de modèles (kit SDK)
<a name="tm-tagging-model-sdk"></a>

Vous pouvez utiliser le AWS SDK pour :
+ Ajouter des balises à un nouveau modèle
+ Ajouter des balises à un modèle existant
+ Répertorier les balises jointes à un modèle 
+ Supprimer des balises d’un modèle 

Les balises des AWS CLI exemples suivants sont au format suivant.

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

Vous pouvez également utiliser ce format.

```
--tags key1=value1,key2=value2
```

Si vous n'avez pas installé le AWS CLI, consultez[Étape 4 : configurer le AWS CLI et AWS SDKs](su-awscli-sdk.md).

### Ajout de balises à un nouveau modèle
<a name="tagging-new-model-sdk"></a>

Vous pouvez ajouter des balises à un modèle lorsque vous le créez à l'aide de cette [CreateProjectVersion](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateProjectVersion.html)opération. Spécifiez une ou plusieurs balises dans le paramètre d’entrée du tableau `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
```

Pour plus d’informations sur la création et la formation d’un modèle, consultez [Entraînement d’un modèle (kit SDK)](training-model.md#tm-sdk).

### Ajout de balises à un modèle existant
<a name="tagging-new-model-sdk"></a>

Pour ajouter une ou plusieurs balises à un modèle existant, utilisez l'[TagResource](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_TagResource)opération. Spécifiez l’Amazon Resource Name (ARN) (`ResourceArn`) et les balises (`Tags`) du modèle que vous voulez ajouter. L’exemple suivant montre comment ajouter deux balises.

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

Vous pouvez obtenir l'ARN d'un modèle en appelant [CreateProjectVersion](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateProjectVersion).

### Établissement de la liste des balises de modèle
<a name="listing-model-tags-sdk"></a>

Pour répertorier les balises associées à un modèle, utilisez l'[ListTagsForResource](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListTagsForResource)opération et spécifiez l'ARN du modèle (`ResourceArn`). La réponse est une carte des clés de balise et des valeurs jointes au modèle spécifié.

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

La sortie affiche la liste des balises jointes au modèle.

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

Pour voir quels modèles d’un projet possèdent une balise spécifique, appelez `DescribeProjectVersions` pour obtenir la liste des modèles. Appelez ensuite `ListTagsForResource` pour chaque modèle dans la réponse de `DescribeProjectVersions`. Examinez la réponse de `ListTagsForResource` pour vérifier si la balise requise est présente. 

L’exemple Python 3 suivant vous montre comment rechercher dans tous vos projets une clé et une valeur de balise spécifiques. La sortie inclut l’ARN du projet et l’ARN du modèle dans lequel une clé correspondante est trouvée.

**Pour rechercher la valeur d’une balise**

1. Enregistrez le code suivant dans un fichier nommé `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()
   ```

1. À partir de l’invite de commande, entrez la commande suivante : Remplacez *key* et *value* par le nom de clé et la valeur de clé que vous souhaitez rechercher.

   ```
   python find_tag.py key value
   ```

### Suppression des balises d’un modèle
<a name="tm-removing-a-tag-sdk"></a>

Pour supprimer une ou plusieurs balises d'un modèle, utilisez l'[UntagResource](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_UntagResource)opération. Spécifiez l’ARN du modèle (`ResourceArn`) et les clés de balise (`Tag-Keys`) que vous souhaitez supprimer. 

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

Vous pouvez également spécifier `tag-keys` dans ce format.

```
--tag-keys key1,key2 
```