

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.

# Création d’une tâche d’étiquetage
<a name="sms-create-labeling-job"></a>

Vous pouvez créer une tâche d'étiquetage dans la console Amazon SageMaker AI et en utilisant un AWS SDK dans la langue de votre choix pour l'exécuter`CreateLabelingJob`. Une fois qu'une tâche d'étiquetage a été créée, vous pouvez suivre les métriques de travail (pour la main-d'œuvre privée) et l'état de votre tâche d'étiquetage à l'aide de [CloudWatch](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-monitor-cloud-watch.html).

Avant de créer une tâche d’étiquetage, il est recommandé de consulter les pages suivantes, le cas échéant :
+ Vous pouvez spécifier vos données d’entrée à l’aide d’une configuration automatique des données dans la console, ou d’un fichier manifeste d’entrée dans la console ou lors de l’utilisation de l’API `CreateLabelingJob`. Pour la configuration automatisée des données, consultez [Automatiser la configuration des données pour les tâches d’étiquetage](sms-console-create-manifest-file.md). Pour savoir comment créer un fichier manifeste d’entrée, consultez [Fichiers manifestes source](sms-input-data-input-manifest.md).
+ Examiner les quotas de données d’entrée de tâche d’étiquetage : [Quotas de données d’entrée](input-data-limits.md).

Après avoir choisi votre type de tâche, utilisez les rubriques de cette page pour savoir comment créer une tâche d’étiquetage.

Si vous êtes un nouvel utilisateur de Ground Truth, nous vous recommandons de commencer par parcourir la démo [Mise en route : création d’une tâche d’étiquetage de cadre de délimitation avec Ground Truth](sms-getting-started.md).

**Important**  
Ground Truth exige que tous les compartiments S3 qui contiennent des données d’image d’entrée de tâche d’étiquetage soient associés à une stratégie CORS. Pour en savoir plus, consultez [Exigence CORS pour les données d’image d’entrée](sms-cors-update.md).

**Topics**
+ [Types de tâche intégrés](sms-task-types.md)
+ [Création de pages d’instructions](sms-creating-instruction-pages.md)
+ [Création d’une tâche d’étiquetage (Console)](sms-create-labeling-job-console.md)
+ [Création d’une tâche d’étiquetage (API)](sms-create-labeling-job-api.md)
+ [Création d’une tâche d’étiquetage en streaming](sms-streaming-create-job.md)
+ [Étiquetage d’un fichier de configuration de catégorie d’étiquetage avec la référence d’attributs de catégorie d’étiquette et de trame](sms-label-cat-config-attributes.md)

# Types de tâche intégrés
<a name="sms-task-types"></a>

Amazon SageMaker Ground Truth propose plusieurs types de tâche intégrés. Ground Truth fournit un modèle de tâche employé pour les types de tâche intégrés. De plus, certains types de tâches intégrés prennent en charge [Automatisation de l’étiquetage des données](sms-automated-labeling.md). Les rubriques suivantes décrivent chaque type de tâche intégré et fournissent une démonstration des modèles de tâche employé fournis par Ground Truth dans la console. Pour savoir comment créer une tâche d'étiquetage dans la console en utilisant l'un de ces types de tâches, sélectionnez la page du type de tâche.


****  

| Étiqueter des images | Étiqueter du texte | Étiqueter les vidéos et les trames vidéo | Étiquetage de nuages de points 3D | 
| --- | --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/sms-task-types.html)  | 

**Note**  
Chaque type de tâche de trame vidéo et de nuage de points 3D possède un type de tache *ajustement* que vous utilisez pour vérifier et ajuster les étiquettes d'une tâche d'étiquetage précédente. Sélectionnez une page de type de tâche de trame vidéo ou de nuage de points 3D ci-dessus pour savoir comment ajuster les étiquettes créées à l'aide de ce type de tâche. 

# Création de pages d’instructions
<a name="sms-creating-instruction-pages"></a>

Créez des instructions personnalisées pour l’étiquetage des tâches afin d’améliorer la précision de l’application de travail lorsqu’elle exécute ses tâches. Vous pouvez modifier les instructions par défaut fournies dans la console ou vous pouvez créer vos propres instructions. Les instructions sont montrées à l’application de travail sur la page d’étiquetage des tâches.

Il existe deux types d’instructions :
+ *Instructions courtes* — Instructions montrées sur la même page Web que celle sur laquelle les employés exécutent leurs tâches. Ces instructions doivent fournir une référence facile pour montrer à l’application de travail comment étiqueter correctement un objet.
+ *Instructions complètes* : instructions montrées sur une boîte de dialogue qui s’affiche sur la page sur laquelle les employés exécutent leurs tâches. Nous vous recommandons de fournir des instructions détaillées pour exécuter la tâche avec plusieurs exemples illustrant les cas limites et autres situations difficiles pour étiqueter des objets.

Créez des instructions dans la console lorsque vous créez votre tâche d’étiquetage. Démarrez avec les instructions existantes pour la tâche et utilisez l’éditeur pour les modifier selon votre tâche d’étiquetage.

**Note**  
Une fois que vous avez créé votre tâche d’étiquetage, elle démarre automatiquement et vous ne pourrez pas modifier vos instructions de travail. Si vous devez modifier vos instructions de travail, arrêtez la tâche d’étiquetage que vous avez créée, clonez-la et modifiez vos instructions de travail avant de créer une nouvelle tâche.   
Vous pouvez cloner une tâche d’étiquetage dans la console en sélectionnant la tâche d’étiquetage, puis en sélectionnant **Cloner** dans le menu **Actions** .   
Pour cloner une tâche d’étiquetage à l’aide de l’API Amazon SageMaker ou de votre kit SDK Amazon SageMaker préféré, effectuez une nouvelle requête à l’opération `CreateLabelingJob` avec les mêmes spécifications que votre tâche d’origine après avoir modifié vos instructions employé. 

Pour les tâches d’étiquetage de nuage de points 3D, vous pouvez ajouter des instructions employé à votre fichier de configuration de catégorie d’étiquette. Vous pouvez utiliser une seule chaîne pour créer des instructions ou ajouter une marque HTML pour personnaliser l’apparence de vos instructions et ajouter des images. Assurez-vous que toutes les images que vous incluez dans vos instructions sont accessibles au public ou, si vos instructions sont incluses dans Amazon S3, que vos employés disposent d’un accès en lecture leur permettant de les visualiser. Pour plus d’informations sur le fichier de configuration, consultez [Étiquetage d’un fichier de configuration de catégorie d’étiquetage avec la référence d’attributs de catégorie d’étiquette et de trame](sms-label-cat-config-attributes.md).

## Instructions courtes
<a name="sms-creating-quick-instructions"></a>

Les instructions courtes s’affichent sur la même page web utilisée par les applications de travail pour étiqueter votre objet de données. Par exemple, voici la page de modification pour une tâche de cadre de délimitation. Le panneau des instructions courtes se trouve sur la gauche.

![\[\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/sms-instructions-10.png)


Gardez à l’esprit qu’une application de travail ne consacrera que quelques secondes à l’étude des instructions courtes. Les applications de travail doivent pouvoir analyser et comprendre rapidement vos informations. Dans tous les cas, la compréhension des instructions doit prendre moins de temps que l’exécution de la tâche. Gardez ces points à l’esprit :
+ Vos instructions doivent être claires et simples.
+ Une image vaut mieux que mille mots Créez une illustration simple de votre tâche que vos applications de travail comprendront immédiatement.
+ Si vous devez utiliser des mots, utilisez des exemples concis.
+ Vos instructions courtes sont plus importantes que vos instructions complètes.

La console Amazon SageMaker Ground Truth fournit un éditeur afin que vous puissiez créer vos instructions courtes. Remplacez le texte de l’espace réservé et les images par des instructions pour votre tâche. Prévisualisez la tâche de l’application de travail en choisissant **Preview (Aperçu)**. L’aperçu s’ouvre dans une nouvelle fenêtre, veillez à désactiver le bloqueur de fenêtres contextuelles afin que la fenêtre s’affiche.

## Instructions complètes
<a name="sms-creating-full-instructions"></a>

Vous pouvez fournir des instructions supplémentaires pour vos applications de travail qui s’affichent sur la page où les applications de travail étiquettent vos objets de données. Utilisez des instructions complètes pour expliquer les tâches plus complexes et pour montrer aux applications de travail la bonne façon d’étiqueter des cas limites ou d’autres objets difficiles.

Vous pouvez créer des instructions complètes à l’aide d’un éditeur dans la console Ground Truth. À l’instar des instructions rapides, gardez les éléments suivants à l’esprit :
+ Les applications de travail souhaiteront des instructions détaillées lors des premières exécutions de votre tâche. Toutes les informations dont elles *doivent* disposer devront se trouver dans les instructions rapides.
+ Une image vaut mieux que mille mots
+ Le texte doit être concis.
+ Les instructions complètes doivent compléter les instructions courtes. Ne répétez pas les informations contenues dans les instructions courtes.

La console Ground Truth fournit un éditeur afin que vous puissiez créer vos instructions complètes. Remplacez le texte de l’espace réservé et les images par des instructions pour votre tâche. Prévisualisez la page des instructions complètes en choisissant **Preview (Aperçu)**. L’aperçu s’ouvre dans une nouvelle fenêtre, veillez à désactiver le bloqueur de fenêtres contextuelles afin que la fenêtre s’affiche.

## Ajouter des exemples d’images à vos instructions
<a name="sms-using-s3-images"></a>

Les images fournissent des exemples utiles pour vos programmes exécutants. Pour ajouter une image publiquement accessible à vos instructions :
+ Placez le curseur où l’image doit aller dans l’éditeur d’instructions.
+ Cliquez sur l’icône d’image dans la barre d’outils de l’éditeur.
+ Saisissez l’URL de votre image.

Si votre image d’instruction dans Amazon S3 n’est pas accessible publiquement :
+ Pour l’URL de l’image, saisissez : `{{ 'https://s3.amazonaws.com/your-bucket-name/image-file-name' | grant_read_access }}`.
+ Ceci rend l’URL de l’image avec une courte durée, un code d’accès unique ajouté afin que le navigateur de l’utilisateur puisse l’afficher. Une icône d’image rompue est affichée dans l’éditeur d’instructions, mais l’affichage d’un aperçu de l’outil permet d’afficher l’image dans l’aperçu rendu.

# Création d’une tâche d’étiquetage (Console)
<a name="sms-create-labeling-job-console"></a>

Vous pouvez utiliser la console Amazon SageMaker AI pour créer une tâche d'étiquetage pour tous les types de tâches intégrés à Ground Truth et les flux de travail d'étiquetage personnalisés. Pour les types de tâches intégrés, nous vous recommandons d’utiliser cette page à côté de la [page pour votre type de tâche](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html). Chaque page de type de tâche contient des détails spécifiques sur la création d’une tâche d’étiquetage à l’aide de ce type de tâche. 

Vous devez fournir les informations suivantes pour créer une tâche d'étiquetage dans la console SageMaker AI : 
+ Un fichier manifeste source dans Amazon S3. Vous pouvez placer votre jeu de données d’entrée dans Amazon S3 et générer automatiquement un fichier manifeste à l’aide de la console Ground Truth (non pris en charge pour les tâches d’étiquetage de nuage de points 3D). 

  Vous pouvez également créer manuellement un fichier manifeste source. Pour savoir comment procéder, consultez [Données d’entrée](sms-data-input.md).
+ Un compartiment Amazon S3 pour stocker vos données de sortie.
+ Un rôle IAM autorisé à accéder à vos ressources dans Amazon S3 et auquel est attachée une politique d'exécution de l' SageMaker IA. Pour une solution générale, vous pouvez associer la politique gérée à un rôle IAM et l'inclure `sagemaker` dans le nom de votre compartiment. AmazonSageMakerFullAccess 

  Pour obtenir des stratégies plus détaillées, consultez [Attribuer des autorisations IAM pour utiliser Ground Truth](sms-security-permission.md). 

  Les types de tâches de nuage de points 3D comportent des considérations de sécurité supplémentaires. [En savoir plus](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-general-information.html#sms-security-permission-3d-point-cloud). 
+ Une équipe de travail. Vous créez une équipe de travail à partir d’une main-d’œuvre composée d’employés Amazon Mechanical Turk, de fournisseurs ou de vos propres employés privés. Pour en savoir plus, consultez [Mains-d’œuvre](sms-workforce-management.md).

  Vous ne pouvez pas utiliser la main-d’œuvre Mechanical Turk pour les tâches d’étiquetage de nuage de points 3D. 
+ Si vous utilisez un flux de travail d’étiquetage personnalisé, vous devez enregistrer un modèle de tâche d’employé dans Amazon S3 et fournir un URI Amazon S3 pour ce modèle. Pour de plus amples informations, veuillez consulter [Création d’un modèle de tâche d’employé personnalisé](sms-custom-templates-step2.md).
+ (Facultatif) Une AWS KMS clé ARN si vous souhaitez que l' SageMaker IA chiffre le résultat de votre tâche d'étiquetage à l'aide de votre propre clé de AWS KMS chiffrement au lieu de la clé de service Amazon S3 par défaut.
+ (Facultatif) Des étiquettes existantes pour le jeu de données que vous utilisez pour votre tâche d’étiquetage. Utilisez cette option si vous souhaitez que les collaborateurs ajustent ou approuvent et rejettent les étiquettes.
+ Si vous souhaitez créer une tâche d’ajustement ou de vérification des étiquettes, vous devez disposer d’un fichier manifeste de sortie dans Amazon S3 qui contient les étiquettes que vous souhaitez ajuster ou vérifier. Cette option n’est prise en charge que pour les tâches d’étiquetage d’image de cadre de délimitation et de segmentation sémantique et les tâches d’étiquetage de nuage de points 3D et de trames vidéo. Il est recommandé d’utiliser les instructions sur [Vérification et ajustement de l’étiquette](sms-verification-data.md) pour créer une tâche de vérification ou d’ajustement des étiquettes. 

**Important**  
Votre équipe de travail, votre fichier manifeste d'entrée, votre compartiment de sortie et les autres ressources d'Amazon S3 doivent se trouver dans la même AWS région que celle que vous avez utilisée pour créer votre tâche d'étiquetage. 

Lorsque vous créez une tâche d'étiquetage à l'aide de la console SageMaker AI, vous ajoutez des instructions et des étiquettes à l'interface utilisateur de travail fournie par Ground Truth. Vous pouvez prévisualiser l’interface utilisateur employé et interagir avec cette dernière lorsque vous créez une tâche d’étiquetage dans la console. Vous pouvez également voir une prévisualisation de l’interface utilisateur employé sur votre [page de type de tâche intégrée](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html).

**Pour créer une tâche d’étiquetage (console)**

1. Connectez-vous à la console SageMaker AI à l'adresse [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). 

1. Dans le panneau de navigation de gauche, choisissez **Tâches d’étiquetage**. 

1. Sur la page **Tâches d’étiquetage**, choisissez **Créer tâche d’étiquetage**.

1. Pour **Nom de la tâche**, entrez un nom pour votre tâche d’étiquetage.

1. (Facultatif) Si vous souhaitez identifier vos étiquettes avec une clé, sélectionnez **Je veux spécifier un nom d’attribut d’étiquette différent de celui du nom de la tâche d’étiquetage**. Si vous ne sélectionnez pas cette option, le nom de la tâche d’étiquetage que vous avez spécifié à l’étape précédente sera utilisé pour identifier vos étiquettes dans votre fichier manifeste de sortie. 

1. Choisissez une configuration de données pour créer une connexion entre votre jeu de données d’entrée et Ground Truth. 
   + Pour **Configuration automatisée des données** :
     + Suivez les instructions de [Automatiser la configuration des données pour les tâches d’étiquetage](sms-console-create-manifest-file.md) pour les tâches d’étiquetage d’images, de texte et de clips vidéo.
     + Suivez les instructions de [Configuration automatisée des données d’entrée de trame vidéo](sms-video-automated-data-setup.md) pour les tâches d’étiquetage de trame vidéo. 
   + Pour **Configuration manuelle des données** :
     + Pour **Emplacement du jeu de données d’entrée**, indiquez l’emplacement dans Amazon S3 où se trouve votre fichier manifeste source. Par exemple, si votre fichier manifeste source manifest.json se trouve dans **example-bucket**, entrez **s3://example-bucket/manifest.json**.
     + Pour **Emplacement du jeu de données de sortie**, indiquez l’emplacement dans Amazon S3 où vous souhaitez que Ground Truth stocke les données de sortie de votre tâche d’étiquetage. 

1. Pour le **rôle IAM**, choisissez un rôle IAM existant ou créez-en un avec l'autorisation d'accéder à vos ressources dans Amazon S3, pour écrire dans le compartiment de sortie Amazon S3 spécifié ci-dessus, et avec une politique d'exécution de l' SageMaker IA attachée. 

1. (Facultatif) Pour une **configuration supplémentaire**, vous pouvez spécifier la partie de votre ensemble de données que vous souhaitez que les collaborateurs étiquettent et si vous souhaitez que l' SageMaker IA chiffre les données de sortie pour votre tâche d'étiquetage à l'aide d'une clé de AWS KMS chiffrement. Pour chiffrer vos données de sortie, vous devez disposer des AWS KMS autorisations requises associées au rôle IAM que vous avez fourni à l'étape précédente. Pour en savoir plus, consultez [Attribuer des autorisations IAM pour utiliser Ground Truth](sms-security-permission.md). 

1. Dans la section **Type de tâche**, sous **Catégorie de tâche**, utilisez le menu déroulant pour sélectionner votre catégorie de tâche. 

1. Dans **Sélection de la tâche**, choisissez votre type de tâche. 

1. (Facultatif) Fournissez des balises pour votre tâche d’étiquetage afin de la trouver plus facilement dans la console ultérieurement. 

1. Choisissez **Suivant**. 

1. Dans la section **Employés**, choisissez le type de main-d’œuvre que vous souhaitez utiliser. Pour plus d’informations sur les options de main-d’œuvre, consultez [Mains-d’œuvre](sms-workforce-management.md).

1. Après avoir sélectionné votre main-d’œuvre, spécifiez le **Délai d’exécution de la tâche**. Il s’agit de la durée maximale qu’un collaborateur doit consacrer à une tâche.

   Pour les tâches d’annotation de nuage de points 3D, le délai d’exécution par défaut de la tâche est de 3 jours. Les délais d’exécution par défaut pour les tâches d’étiquetage de classification de texte et d’image, et de vérification des étiquettes, sont de 5 minutes. Les délais d’exécution par défaut pour tous les autres types de tâches d’étiquetage sont de 60 minutes.

1. (Facultatif) Pour les types de tâches de cadre de délimitation, de segmentation sémantique et de nuage de points 3D, vous pouvez sélectionner **Afficher les étiquettes existantes** si vous souhaitez afficher les étiquettes de votre jeu de données d’entrée afin que les employés puissent les vérifier ou les ajuster.

   Pour les tâches d’étiquetage de cadre de délimitation et de segmentation sémantique, cela créera une tâche d’ajustement des étiquettes.

   Pour les tâches d’étiquetage de nuage de points 3D et de trame vidéo :
   + Sélectionnez **Ajustement** pour créer une tâche d’étiquetage d’ajustement. Lorsque vous sélectionnez cette option, vous pouvez ajouter de nouvelles étiquettes, mais vous ne pouvez pas supprimer ou modifier les étiquettes existantes de la tâche précédente. Le cas échéant, vous pouvez choisir les attributs de catégorie d’étiquette et les attributs de trame que vous souhaitez voir modifier par les employés. Pour rendre un attribut modifiable, sélectionnez la case à cocher **Autoriser les employés à modifier cet attribut** pour cet attribut.

     Vous pouvez également ajouter des attributs de catégorie d’étiquette et de trame. 
   + Sélectionnez **Vérification** pour créer une tâche d’ajustement des étiquettes. Lorsque vous sélectionnez cette option, vous ne pouvez pas ajouter, modifier ou supprimer des étiquettes existantes dans la tâche précédente. Le cas échéant, vous pouvez choisir les attributs de catégorie d'étiquette et les attributs de trame que vous souhaitez voir modifier par les employés. Pour rendre un attribut modifiable, sélectionnez la case à cocher **Autoriser les employés à modifier cet attribut** pour cet attribut. 

     Nous vous recommandons d’ajouter de nouveaux attributs de catégorie d’étiquette aux étiquettes que les employés doivent vérifier, ou d’ajouter un ou plusieurs attributs de trame pour que les employés fournissent des informations sur l’ensemble de la trame.

    Pour de plus amples informations, veuillez consulter [Vérification et ajustement de l’étiquette](sms-verification-data.md).

1. Configurez votre interface utilisateur employé :
   + Si vous utilisez un [Type de tâche intégrée](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html), spécifiez les instructions des employés et les étiquettes. 
     + Pour la classification des images et la classification de texte (à étiquette unique et multiple), vous devez spécifier au moins deux catégories d’étiquettes. Pour tous les autres types de tâches intégrés, vous devez spécifier au moins une catégorie d’étiquette. 
     + (Facultatif) Si vous créez une tâche d’étiquetage de nuage de points ou de trames vidéo 3D, vous pouvez spécifier des attributs de catégorie d’étiquette (non pris en charge pour la segmentation sémantique de nuage de points 3D) et des attributs de trame. Les attributs de catégorie d’étiquette peuvent être affectés à une ou plusieurs étiquettes. Les attributs de trame apparaîtront sur chaque étiquette de nuage de points ou de trames vidéo des employés. Pour en savoir plus, consultez [Interface utilisateur (IU) d’employé](sms-point-cloud-general-information.md#sms-point-cloud-worker-task-ui) pour les nuages de points 3D et [Interface utilisateur (IU) d’employé](sms-video-overview.md#sms-video-worker-task-ui) pour les trames vidéo. 
     + (Facultatif) Ajoutez **Instructions supplémentaires** pour aider votre employé à accomplir votre tâche.
   + Si vous créez un flux de travail d’étiquetage personnalisé, vous devez :
     + Saisir un [modèle personnalisé](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step2.html) dans la zone de code. Les modèles personnalisés peuvent être créés à l’aide d’une combinaison de HTML, du langage de modélisation Liquid et de nos composants Web prédéfinis. Vous pouvez également choisir un modèle de base dans le menu déroulant pour commencer. 
     + Spécifiez les fonctions Lambda de pré-annotation et de post-annotation. Pour apprendre à créer ces fonctions, consultez [Traitement des données dans un flux de travail d'étiquetage personnalisé avec AWS Lambda](sms-custom-templates-step3.md).

1. Vous pouvez sélectionner **Voir la prévisualisation** pour prévisualiser vos instructions de travail et les étiquettes, et interagir avec l’interface utilisateur employé. Assurez-vous que le bloqueur de fenêtres contextuelles du navigateur est désactivé avant de générer l’aperçu.

1. Choisissez **Créer**.

Une fois que vous avez créé votre tâche d’étiquetage avec succès, vous êtes redirigé vers la page **Tâches d’étiquetage** . Le statut de la tâche d’étiquetage que vous venez de créer est **En cours**. Ce statut est mis à jour au fur et à mesure que les collaborateurs terminent les tâches. Lorsque toutes les tâches sont terminées avec succès, le statut devient **Terminé**.

Si un problème s’est produit lors de la création de la tâche d’étiquetage, son statut passe à **Échec**.

Pour afficher plus de détails sur la tâche, choisissez le nom de la tâche d’étiquetage. 

## Étapes suivantes
<a name="sms-create-labeling-job-console-next-steps"></a>

Une fois que le statut de votre tâche d’étiquetage passe à **Terminé**, vous pouvez afficher vos données de sortie dans le compartiment Amazon S3 que vous avez spécifié lors de la création de cette tâche d’étiquetage. Pour plus d’informations sur le format de vos données de sortie, consultez [Étiquetage des données de sortie des tâches](sms-data-output.md).

# Création d’une tâche d’étiquetage (API)
<a name="sms-create-labeling-job-api"></a>

Pour créer une tâche d'étiquetage à l'aide de l' SageMaker API Amazon, vous devez utiliser l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)opération. Pour obtenir des instructions spécifiques sur la création d’une tâche d’étiquetage pour un type de tâche intégré, consultez cette [page de type de tâche](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html). Pour savoir comment créer une tâche d’étiquetage en streaming, c’est-à-dire une tâche d’étiquetage qui s’exécute perpétuellement, consultez [Création d’une tâche d’étiquetage en streaming](sms-streaming-create-job.md).

Pour utiliser l’opération `CreateLabelingJob`, vous avez besoin des éléments suivants :
+ Un modèle de tâche d’employé (`UiTemplateS3Uri`) ou un ARN d’interface utilisateur de tâche humaine (`[HumanTaskUiArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-HumanTaskUiArn)`) dans Amazon S3. 
  + Pour les tâches de nuage de points 3D, les tâches de détection et de suivi d’objets vidéo et les tâches NER, utilisez l’ARN répertorié dans `HumanTaskUiArn` pour votre type de tâche.
  + Si vous utilisez un type de tâche intégré autre que des tâches de nuage de points 3D, vous pouvez ajouter vos instructions de travail à l’un des modèles prédéfinis et enregistrer le modèle (avec une extension .html ou .liquid) dans votre compartiment S3. Recherchez les modèles de pré-génération sur votre [page de type de tâche](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html).
  + Si vous utilisez un flux de travail d’étiquetage personnalisé, vous pouvez créer un modèle personnalisé et l’enregistrer dans votre compartiment S3. Pour savoir comment créer un modèle de travail personnalisé, consultez [Création d’un modèle de tâche d’employé personnalisé](sms-custom-templates-step2.md). Pour connaître les éléments HTML personnalisés que vous pouvez utiliser pour personnaliser votre modèle, consultez [Référence des éléments HTML crowd](sms-ui-template-reference.md). Pour un référentiel de modèles de démonstration pour diverses tâches d'étiquetage, consultez [Amazon SageMaker Ground Truth Sample Task UIs ](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis).
+ Un fichier manifeste d’entrée qui spécifie vos données d’entrée dans Amazon S3. Indiquer l’emplacement de votre fichier manifeste d’entrée dans `ManifestS3Uri`. Pour plus d’informations sur la création d’un manifeste d’entrée, consultez [Données d’entrée](sms-data-input.md). Si vous créez une tâche d’étiquetage en streaming, cette option est facultative. Pour savoir comment créer une tâche d’étiquetage en streaming, consultez [Création d’une tâche d’étiquetage en streaming](sms-streaming-create-job.md).
+ Un compartiment Amazon S3 pour stocker vos données de sortie. Vous spécifiez ce compartiment et, éventuellement, un préfixe dans `S3OutputPath`.
+ Un fichier de configuration de catégorie d’étiquette. Chaque nom de catégorie d’étiquette doit être unique. Spécifiez l’emplacement de ce fichier dans Amazon S3 à l’aide du paramètre `LabelCategoryConfigS3Uri`. Le format et les catégories d’étiquettes de ce fichier dépendent du type de tâche que vous utilisez :
  + Pour la classification des images et la classification de texte (à étiquette unique et multiple), vous devez spécifier au moins deux catégories d’étiquettes. Pour tous les autres types de tâches, le nombre minimum de catégories d’étiquettes requises est une. 
  + Pour les tâches de reconnaissance des entités nommées, vous devez fournir des instructions pour les employés dans ce fichier. Pour obtenir plus de détails et voir un exemple, consultez [Fournir des instructions aux employés dans un fichier de configuration de catégorie d’étiquette](sms-named-entity-recg.md#worker-instructions-ner).
  + Pour le type de tâche nuage de points 3D et de trame vidéo, utilisez le format [Étiquetage d’un fichier de configuration de catégorie d’étiquetage avec la référence d’attributs de catégorie d’étiquette et de trame](sms-label-cat-config-attributes.md).
  + Pour tous les autres types de tâches intégrées et de tâches personnalisées, votre fichier de configuration de catégorie d’étiquettes doit être un fichier JSON au format suivant. Identifiez les étiquettes que vous souhaitez utiliser en remplaçant `label_1`, `label_2`,`...`,`label_n` par vos catégories d’étiquettes. 

    ```
    {
        "document-version": "2018-11-28",
        "labels": [
            {"label": "label_1"},
            {"label": "label_2"},
            ...
            {"label": "label_n"}
        ]
    }
    ```
+ Un rôle Gestion des identités et des accès AWS (IAM) associé à la politique IAM [AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)gérée et autorisé à accéder à vos compartiments S3. Spécifiez ce rôle dans `RoleArn`. Pour en savoir plus sur cette stratégie, consultez [Utiliser les stratégies gérées IAM avec Ground Truth](sms-security-permissions-get-started.md). Si vous avez besoin d’autorisations plus détaillées, consultez [Attribuer des autorisations IAM pour utiliser Ground Truth](sms-security-permission.md).

  Si le nom de votre compartiment en entrée ou en sortie ne contient pas `sagemaker`, vous pouvez attacher une stratégie similaire à la suivante au rôle transmis à l’opération `CreateLabelingJob`.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:GetObject"
              ],
              "Resource": [
                  "arn:aws:s3:::my_input_bucket/*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject"
              ],
              "Resource": [
                  "arn:aws:s3:::my_output_bucket/*"
              ]
          }
      ]
  }
  ```

------
+ Un Amazon Resource Name (ARN) de fonction AWS Lambda de pré-annotation et de post-annotation (ou de consolidation des annotations) pour traiter vos données d’entrée et de sortie. 
  + Les fonctions Lambda sont prédéfinies dans chaque AWS région pour les types de tâches intégrés. Pour trouver l'ARN Lambda préalable à l'annotation pour votre région [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn), consultez. Pour trouver l'ARN Lambda de consolidation des annotations pour votre région, consultez. [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 
  + Pour les flux de travail d’étiquetage personnalisés, vous devez fournir un ARN Lambda de pré- et post-annotation personnalisé. Pour savoir comment créer ces fonctionnalités Lambda, consultez [Traitement des données dans un flux de travail d'étiquetage personnalisé avec AWS Lambda](sms-custom-templates-step3.md).
+ Un ARN de l’équipe de travail que vous définissez dans `WorkteamArn`. Vous recevez un ARN d’équipe de travail lorsque vous vous abonnez à une main-d’œuvre de fournisseur ou créez une équipe de travail privée. Si vous créez une tâche d'étiquetage pour une image vidéo ou un type de tâche de nuage de points, vous ne pouvez pas faire appel à la Amazon Mechanical Turk main-d'œuvre. Pour tous les autres types de tâches, pour utiliser la main-d’œuvre Mechanical Turk, utilisez l’ARN suivant. Remplacez *`region`* par la AWS région que vous utilisez pour créer la tâche d'étiquetage.

  ` arn:aws:sagemaker:region:394669845002:workteam/public-crowd/default`

  Si vous utilisez de la main-d’œuvre [Amazon Mechanical Turk](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html), utilisez le paramètre `ContentClassifiers` dans `DataAttributes` de `InputConfig` pour déclarer que votre contenu ne contient pas d’informations personnelles identifiables ni de contenu pour adultes. 

  Ground Truth *nécessite* que vos données d’entrée soient exemptes de données d’identification personnelle (PII) si vous utilisez la main-d’œuvre de Mechanical Turk. Si vous utilisez Mechanical Turk et que vous ne spécifiez pas que vos données d’entrée sont exemptes de PII à l’aide de l’indicateur `FreeOfPersonallyIdentifiableInformation`, votre travail d’étiquetage échouera. Utilisez le `FreeOfAdultContent` drapeau pour déclarer que vos données d'entrée sont exemptes de contenu réservé aux adultes. SageMaker L'IA peut empêcher les employés d'Amazon Mechanical Turk de consulter votre tâche si celle-ci contient du contenu réservé aux adultes. 

  Pour en savoir plus sur les équipes de travail et la main-d’œuvre, consultez [Mains-d’œuvre](sms-workforce-management.md). 
+ Si vous utilisez la main-d’œuvre Mechanical Turk, vous devez spécifier le prix que vous payerez aux employés pour effectuer une seule tâche dans `PublicWorkforceTaskPrice`.
+ Pour configurer la tâche, vous devez fournir une description et un titre de tâche, respectivement à l’aide de `TaskDescription` et `TaskTitle`. Le cas échéant, vous pouvez fournir des limites de temps qui contrôlent la durée de travail des employés sur une tâche individuelle (`TaskTimeLimitInSeconds`) et combien de temps les tâches restent disponibles pour les employés (`TaskAvailabilityLifetimeInSeconds`) dans le portail employé.
+ (Facultatif) Pour [certains types de tâches](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html), plusieurs collaborateurs peuvent étiqueter un seul objet de données (en saisissant un nombre supérieur à un pour le paramètre `NumberOfHumanWorkersPerDataObject`). Pour plus d’informations sur la consolidation des annotations, consultez [Consolidation d’annotation](sms-annotation-consolidation.md).
+ (Facultatif) Pour créer une tâche d'étiquetage automatique des données, spécifiez l'une des ARNs options répertoriées [LabelingJobAlgorithmSpecificationArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html)dans`LabelingJobAlgorithmsConfig`. Cet ARN identifie l’algorithme utilisé dans la tâche d’étiquetage automatisé des données. Le type de tâche associé à cet ARN doit correspondre au type de tâche du `PreHumanTaskLambdaArn` et `AnnotationConsolidationLambdaArn` que vous spécifiez. L’étiquetage automatisé des données est pris en charge pour les types de tâches suivants : classification d’image, cadre de délimitation, segmentation sémantique et classification de texte. Le nombre minimum d’objets autorisés pour l’étiquetage automatisé des données est de 1 250, mais nous suggérons fortement de fournir un minimum de 5 000 objets. Pour en savoir plus sur les tâches d’étiquetage automatisé des données, consultez [Automatisation de l’étiquetage des données](sms-automated-labeling.md).
+ (Facultatif) Vous pouvez fournir des [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#API_CreateLabelingJob_RequestSyntax](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#API_CreateLabelingJob_RequestSyntax) qui provoquent l’arrêt de la tâche d’étiquetage si l’une des conditions est remplie. Vous pouvez utiliser les conditions d’arrêt pour contrôler le coût de la tâche d’étiquetage.

## Exemples
<a name="sms-create-labeling-job-api-examples"></a>

Les exemples de code suivants illustrent comment créer une tâche d’étiquetage à l’aide de `CreateLabelingJob`. Vous pouvez également consulter ces exemples de blocs-notes GitHub dans le [référentiel SageMaker AI Examples](https://github.com/aws/amazon-sagemaker-examples/tree/master/ground_truth_labeling_jobs).

------
#### [ AWS SDK pour Python (Boto3) ]

Voici un exemple de [requête du kit SDK AWS Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) pour créer une tâche d’étiquetage pour un type de tâche intégré dans la région USA-Est (Virginie du Nord) à l’aide d’une main-d’œuvre privée. Remplacez le tout *red-italized text* par les ressources et les spécifications de votre travail d'étiquetage. 

```
response = client.create_labeling_job(
    LabelingJobName="example-labeling-job",
    LabelAttributeName="label",
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': "s3://bucket/path/manifest-with-input-data.json"
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                "FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent",
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': "s3://bucket/path/file-to-store-output-data",
        'KmsKeyId': "string"
    },
    RoleArn="arn:aws:iam::*:role/*",
    LabelCategoryConfigS3Uri="s3://bucket/path/label-categories.json",
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': "arn:aws:sagemaker:region:*:workteam/private-crowd/*",
        'UiConfig': {
            'UiTemplateS3Uri': "s3://bucket/path/custom-worker-task-template.html"
        },
        'PreHumanTaskLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        'TaskKeywords': [
            "Images",
            "Classification",
            "Multi-label"
        ],
        'TaskTitle': "Multi-label image classification task",
        'TaskDescription': "Select all labels that apply to the images shown",
        'NumberOfHumanWorkersPerDataObject': 1,
        'TaskTimeLimitInSeconds': 3600,
        'TaskAvailabilityLifetimeInSeconds': 21600,
        'MaxConcurrentTaskCount': 1000,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:ACS-"
        },
    Tags=[
        {
            'Key': "string",
            'Value': "string"
        },
    ]
)
```

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

Voici un exemple de demande AWS CLI visant à créer une tâche d'étiquetage pour un type de tâche intégré dans la région USA Est (Virginie du Nord) à l'aide du personnel d'[Amazon Mechanical Turk](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html). Pour plus d’informations, consultez [start-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-labeling-job.html) dans la *Référence des commandes de l’[AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. Remplacez le tout *red-italized text* par les ressources et les spécifications de votre travail d'étiquetage. 

```
$ aws --region us-east-1 sagemaker create-labeling-job \
--labeling-job-name "example-labeling-job" \
--label-attribute-name "label" \
--role-arn "arn:aws:iam::account-id:role/role-name" \
--input-config '{
        "DataAttributes": {
            "ContentClassifiers": [
                "FreeOfPersonallyIdentifiableInformation",
                "FreeOfAdultContent"
            ]
        },
        "DataSource": {
            "S3DataSource": {
                "ManifestS3Uri": "s3://bucket/path/manifest-with-input-data.json"
            }
        }
    }' \
--output-config '{
        "KmsKeyId": "",
        "S3OutputPath": "s3://bucket/path/file-to-store-output-data"
    }' \
--human-task-config '{
        "AnnotationConsolidationConfig": {
            "AnnotationConsolidationLambdaArn": "arn:aws:lambda:us-east-1:432418664414:function:ACS-"
        },
        "TaskAvailabilityLifetimeInSeconds": 21600,
        "TaskTimeLimitInSeconds": 3600,
        "NumberOfHumanWorkersPerDataObject": 1,
        "PreHumanTaskLambdaArn":  "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        "WorkteamArn": "arn:aws:sagemaker:us-east-1:394669845002:workteam/public-crowd/default",
        "PublicWorkforceTaskPrice": {
            "AmountInUsd": {
                "Dollars": 0,
                "TenthFractionsOfACent": 6,
                "Cents": 3
            }
        },
        "TaskDescription": "Select all labels that apply to the images shown",
        "MaxConcurrentTaskCount": 1000,
        "TaskTitle": "Multi-label image classification task",,
        "TaskKeywords": [
            "Images",
            "Classification",
            "Multi-label"
        ],
        "UiConfig": {
            "UiTemplateS3Uri": "s3://bucket/path/custom-worker-task-template.html"
        }
    }'
```

------

Pour plus d'informations sur cette opération, consultez [CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateLabelingJob.html). Pour plus d'informations sur l'utilisation d'autres langues spécifiques SDKs, voir [Voir aussi](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateLabelingJob.html#API_CreateLabelingJob_SeeAlso) dans la `CreateLabelingJobs` rubrique. 

# Création d’une tâche d’étiquetage en streaming
<a name="sms-streaming-create-job"></a>

Les tâches d’étiquetage en streaming vous permettent d’envoyer des objets de données individuels en temps réel à une tâche d’étiquetage s’exécutant perpétuellement. Pour créer une tâche d’étiquetage en streaming, vous pouvez spécifier l’ARN de la *rubrique d’entrée* Amazon SNS, `SnsTopicArn`, dans le paramètre `InputConfig` lors d’une demande [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). Le cas échéant, vous pouvez également créer une *rubrique de sortie* Amazon SNS et la spécifier dans `OutputConfig` si vous souhaitez recevoir les données d’étiquette en temps réel.

**Important**  
Si vous êtes un nouvel utilisateur des tâches d’étiquetage en streaming Ground Truth, il est recommandé de consulter [Tâches d’étiquetage en streaming Ground Truth](sms-streaming-labeling-job.md) avant de créer une tâche d’étiquetage en streaming. Les tâches d'étiquetage en streaming de Ground Truth ne sont prises en charge que via l' SageMaker API.

Utilisez les sections suivantes pour créer les ressources dont vous avez besoin et que vous pouvez utiliser pour créer une tâche d’étiquetage en streaming :
+ Découvrez comment créer des rubriques SNS avec les autorisations requises pour les tâches d’étiquetage en streaming Ground Truth en suivant les étapes décrites dans [Utilisation des rubriques Amazon SNS pour l’étiquetage des données](sms-create-sns-input-topic.md). Vos sujets SNS doivent être créés dans la même AWS région que votre tâche d'étiquetage. 
+ Consultez [Abonner un point de terminaison à votre rubrique de sortie Amazon SNS](sms-create-sns-input-topic.md#sms-streaming-subscribe-output-topic) pour savoir comment configurer un point de terminaison pour recevoir les données de sortie de tâche d’étiquetage à un point de terminaison spécifié chaque fois qu’une tâche d’étiquetage est terminée.
+ Pour savoir comment configurer votre compartiment Amazon S3 pour envoyer des notifications à votre rubrique d’entrée Amazon SNS, consultez [Création de notifications d’événements de compartiment basées sur Amazon S3 en fonction de l’Amazon SNS défini dans votre tâche d’étiquetage](sms-streaming-s3-setup.md).
+ Vous pouvez également ajouter à votre manifeste d’entrée des objets de données que vous souhaitez étiqueter dès que la tâche d’étiquetage commence. Pour de plus amples informations, veuillez consulter [Créer un fichier manifeste (facultatif)](sms-streaming-manifest.md).
+ D’autres ressources sont nécessaires pour créer une tâche d’étiquetage, telles qu’un rôle IAM, un compartiment Amazon S3, un modèle de tâche d’employé et des catégories d’étiquettes. Ceux-ci sont décrits dans la documentation Ground Truth sur la création d’une tâche d’étiquetage. Pour de plus amples informations, veuillez consulter [Création d’une tâche d’étiquetage](sms-create-labeling-job.md). 
**Important**  
Lorsque vous créez une tâche d’étiquetage, vous devez fournir un rôle d’exécution IAM. Associez la politique AWS gérée **AmazonSageMakerGroundTruthExecution**à ce rôle pour vous assurer qu'il dispose des autorisations requises pour exécuter votre tâche d'étiquetage. 

Lorsque vous soumettez une demande de création d’une tâche d’étiquetage en streaming, le statut de votre tâche d’étiquetage est `Initializing`. Une fois que la tâche d’étiquetage est active, son statut passe à `InProgress`. N’envoyez pas de nouveaux objets de données à votre tâche d’étiquetage ou ne tentez pas d’arrêter votre tâche d’étiquetage lorsqu’elle se trouve dans le statut `Initializing`. Une fois que son statut passe à `InProgress`, vous pouvez commencer à envoyer de nouveaux objets de données à l’aide d’Amazon SNS et de la configuration Amazon S3. 

**Topics**
+ [Utilisation des rubriques Amazon SNS pour l’étiquetage des données](sms-create-sns-input-topic.md)
+ [Création de notifications d’événements de compartiment basées sur Amazon S3 en fonction de l’Amazon SNS défini dans votre tâche d’étiquetage](sms-streaming-s3-setup.md)
+ [Créer un fichier manifeste (facultatif)](sms-streaming-manifest.md)
+ [Créez un job d'étiquetage en streaming avec l' SageMaker API](sms-streaming-create-labeling-job-api.md)
+ [Arrêter une tâche d’étiquetage en streaming](sms-streaming-stop-labeling-job.md)

# Utilisation des rubriques Amazon SNS pour l’étiquetage des données
<a name="sms-create-sns-input-topic"></a>

Vous devez créer une rubrique d’entrée Amazon SNS pour créer une tâche d’étiquetage en streaming. Vous pouvez éventuellement fournir une rubrique de sortie Amazon SNS.

Lorsque vous créez une rubrique Amazon SNS à utiliser dans le cadre de votre tâche d’étiquetage en streaming, notez l’Amazon Resource Name (ARN) de la rubrique. L’ARN sera la valeur d’entrée du paramètre `SnsTopicArn` dans `InputConfig` et `OutputConfig` lorsque vous créez une tâche d’étiquetage.

## Création d’une rubrique d’entrée
<a name="sms-streaming-input-topic"></a>

Votre rubrique d’entrée est utilisée pour envoyer de nouveaux objets de données à Ground Truth. Pour créer une rubrique d’entrée, suivez les instructions fournies dans [Création d’une rubrique Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) dans le Guide du développeur Amazon Simple Notification Service.

Notez votre ARN de rubrique d’entrée et utilisez-le comme entrée pour le paramètre `SnsTopicArn` de `CreateLabelingJob` dans `InputConfig`. 

## Création d’une rubrique de sortie
<a name="sms-streaming-output-topic"></a>

Si vous fournissez une rubrique en sortie, elle est utilisée pour envoyer des notifications lorsqu’un objet de données est étiqueté. Lorsque vous créez une rubrique, vous avez la possibilité d’ajouter une clé de chiffrement. Utilisez cette option pour ajouter une clé gérée par le AWS Key Management Service client à votre rubrique afin de chiffrer les données de sortie de votre tâche d'étiquetage avant qu'elles ne soient publiées dans votre rubrique de sortie.

Pour créer une rubrique de sortie, suivez les instructions de la section [Création d’une rubrique Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) du Guide du développeur Amazon Simple Notification Service.

Si vous ajoutez un chiffrement, vous devez attacher une autorisation supplémentaire à la rubrique. Pour plus d’informations, consultez [Ajouter le chiffrement à votre rubrique de sortie (facultatif)](#sms-streaming-encryption).

**Important**  
Pour ajouter une clé gérée par le client à votre sujet de sortie lors de la création d'un sujet dans la console, n'utilisez pas l'alias/aws/snsoption **(par défaut)**. Sélectionnez une clé gérée par le client que vous avez créée. 

Notez votre ARN de rubrique d’entrée et utilisez-le dans votre requête `CreateLabelingJob` dans le paramètre `SnsTopicArn` de `OutputConfig`. 

### Ajouter le chiffrement à votre rubrique de sortie (facultatif)
<a name="sms-streaming-encryption"></a>

Pour chiffrer les messages publiés dans votre rubrique de sortie, vous devez fournir une clé AWS KMS gérée par le client à votre rubrique. Modifiez la politique suivante et ajoutez-la à votre clé gérée par le client pour autoriser Ground Truth à chiffrer les données de sortie avant de les publier dans votre rubrique de sortie.

Remplacez *`<account_id>`* par l’ID du compte que vous utilisez pour créer votre rubrique. Pour savoir comment trouver votre identifiant de AWS compte, consultez la section [Trouver votre identifiant de AWS compte](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#FindingYourAWSId). 

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

****  

```
{
    "Id": "key-console-policy",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow access for Key Administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/Admin"
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion"
            ],
            "Resource": "*"
        }
    ]
}
```

------

En outre, vous devez modifier et ajouter la stratégie suivante au rôle d’exécution que vous utilisez pour créer votre tâche d’étiquetage (la valeur d’entrée pour `RoleArn`). 

Remplacez *`<account_id>`* par l'ID du compte que vous utilisez pour créer votre rubrique. Remplacez *`<region>`* par la région AWS que vous utilisez pour créer votre tâche d’étiquetage. Remplacez `<key_id>` par votre ID de clé gérée par le client.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "sid1",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/your_key_id"
        }
    ]
}
```

------

Pour plus d'informations sur la création et la sécurisation des clés, consultez [les sections Création de clés](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) et [utilisation de politiques clés](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) dans le guide du AWS Key Management Service développeur.

## Abonner un point de terminaison à votre rubrique de sortie Amazon SNS
<a name="sms-streaming-subscribe-output-topic"></a>

Lorsqu’un employé effectue une tâche d’étiquetage à partir d’une tâche d’étiquetage en streaming Ground Truth, celui-ci utilise votre rubrique de sortie pour publier des données de sortie sur un ou plusieurs points de terminaison que vous spécifiez. Pour recevoir des notifications lorsqu’un employé termine une tâche d’étiquetage, vous devez abonner un point de terminaison à la rubrique de sortie Amazon SNS.

Pour savoir comment ajouter des points de terminaison à votre rubrique de sortie, consultez [S’abonner à une rubrique Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html) dans le *Guide du développeur Amazon Simple Notification Service*.

Pour en savoir plus sur le format de données de sortie publié sur ces points de terminaison, consultez [Étiquetage des données de sortie des tâches](sms-data-output.md). 

**Important**  
Si vous n’abonnez pas de point de terminaison à votre rubrique de sortie Amazon SNS, vous ne recevrez pas de notifications lorsque de nouveaux objets de données sont étiquetés. 

# Création de notifications d’événements de compartiment basées sur Amazon S3 en fonction de l’Amazon SNS défini dans votre tâche d’étiquetage
<a name="sms-streaming-s3-setup"></a>

Les modifications apportées à votre compartiment Amazon S3, les notifications d'événements, sont activées soit sur la console Amazon S3, soit sur l'API, sur une langue spécifique AWS SDKs, soit sur AWS Command Line Interface. Les événements doivent utiliser le même ARN de rubrique d’entrée Amazon SNS, `SnsTopicArn`, spécifié dans le paramètre `InputConfig` dans le cadre de votre demande `CreateLabelingJob`.

**Les notifications du compartiment Amazon S3 et vos données d’entrée ne doivent pas correspondre au même compartiment Amazon S3.**  
Lorsque vous créez des notifications d’événements, n’utilisez pas le même emplacement Amazon S3 que celui que vous avez spécifié comme `S3OutputPath` dans les paramètres `OutputConfig`. La liaison des deux compartiments peut entraîner le traitement par Ground Truth d’objets de données indésirables à des fins d’étiquetage.

Vous contrôlez les types d’événements que vous souhaitez envoyer à votre rubrique Amazon SNS. Ground Truth crée une tâche d’étiquetage lorsque vous envoyez des [événements de création d’objet](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html#enable-event-notifications-types).

La structure d’événement envoyée à votre rubrique d’entrée Amazon SNS doit être un message JSON formaté à l’aide de la même structure que celle trouvée dans [Structure des messages d’événements](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html).

*Pour découvrir comment configurer une notification d'événement pour votre compartiment Amazon S3 à l'aide de la console Amazon S3, du SDK pour .NET AWS et du AWS SDK pour Java, suivez cette procédure pas à pas intitulée Procédure pas à pas [: configurer un compartiment pour les notifications (rubrique SNS ou file d'attente SQS) dans le guide de l'utilisateur d'Amazon Simple Storage](https://docs.aws.amazon.com/AmazonS3/latest/dev/ways-to-add-notification-config-to-bucket.html) Service.*

Les EventBridge notifications Amazon ne sont pas prises en charge de manière native. Pour utiliser la notification EventBridge basée, vous devez mettre à jour le format de sortie afin qu'il corresponde au format JSON utilisé dans la [structure du message d'événement](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html).

# Créer un fichier manifeste (facultatif)
<a name="sms-streaming-manifest"></a>

Lorsque vous créez une tâche d’étiquetage en streaming, vous avez l’option unique pour ajouter des objets (tels que des images ou du texte) à un fichier manifeste d’entrée que vous spécifiez dans `ManifestS3Uri` de `CreateLabelingJob`. Lorsque la tâche d’étiquetage en streaming démarre, ces objets sont envoyés aux employés ou ajoutés à la file d’attente Amazon SQS si le nombre total d’objets dépasse `MaxConcurrentTaskCount`. Les résultats sont ajoutés au chemin d’accès Amazon S3 que vous spécifiez lors de la création périodique de la tâche d’étiquetage lorsque les employés effectuent des tâches d’étiquetage. Les données de sortie sont envoyées à n’importe quel point de terminaison auquel vous abonnez à votre rubrique de sortie. 

Si vous souhaitez fournir des objets initiaux à étiqueter, créez un fichier manifeste qui identifie ces objets et placez-le dans Amazon S3. Spécifiez l’URI S3 de ce fichier manifeste dans `ManifestS3Uri` sous `InputConfig`.

Pour savoir comment formater votre fichier manifeste, consultez [Données d’entrée](sms-data-input.md). Pour utiliser la console SageMaker AI afin de générer automatiquement un fichier manifeste (non pris en charge pour les types de tâches de nuages de points 3D), voir[Automatiser la configuration des données pour les tâches d’étiquetage](sms-console-create-manifest-file.md).

# Créez un job d'étiquetage en streaming avec l' SageMaker API
<a name="sms-streaming-create-labeling-job-api"></a>

Voici un exemple de [requête du kit SDK AWS Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) que vous pouvez utiliser pour lancer une tâche d’étiquetage en streaming pour un type de tâche intégré dans la région USA-Est (Virginie du Nord). Pour plus de détails sur chaque paramètre ci-dessous, consultez [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). Pour savoir comment créer une tâche d'étiquetage à l'aide de cette API et de la langue associée spécifique SDKs, voir [Create a Labeling Job (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-api.html).

Dans cet exemple, notez les paramètres suivants :
+ `SnsDataSource` : ce paramètre apparaît dans `InputConfig` et `OutputConfig`, et il est utilisé pour identifier vos rubriques d’entrée et de sortie Amazon SNS respectivement. Pour créer une tâche d’étiquetage en streaming, vous devez fournir une rubrique d’entrée Amazon SNS. Vous pouvez également fournir une rubrique de sortie Amazon SNS.
+ `S3DataSource` – Ce paramètre est facultatif. Utilisez ce paramètre si vous souhaitez inclure un fichier manifeste d’entrée d’objets de données que vous souhaitez étiqueter dès le début de la tâche d’étiquetage.
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-StoppingConditions](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-StoppingConditions) : ce paramètre est ignoré lorsque vous créez une tâche d’étiquetage en streaming. Pour en savoir plus sur l’arrêt d’une tâche d’étiquetage en streaming, consultez [Arrêter une tâche d’étiquetage en streaming](sms-streaming-stop-labeling-job.md).
+ Les tâches d’étiquetage en streaming ne prennent pas en charge l’étiquetage automatisé des données. N’incluez pas le paramètre `LabelingJobAlgorithmsConfig`.

```
response = client.create_labeling_job(
    LabelingJobName= 'example-labeling-job',
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            },
            'SnsDataSource': {
                'SnsTopicArn': 'arn:aws:sns:us-east-1:123456789012:your-sns-input-topic'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string',
        'SnsTopicArn': 'arn:aws:sns:us-east-1:123456789012:your-sns-output-topic'
    },
    RoleArn='arn:aws:iam::*:role/*',
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:us-east-1:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/custom-worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype',
        'TaskKeywords': [
            'Example key word',
        ],
        'TaskTitle': 'Multi-label image classification task',
        'TaskDescription': 'Select all labels that apply to the images shown',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-tasktype'
            }
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

# Arrêter une tâche d’étiquetage en streaming
<a name="sms-streaming-stop-labeling-job"></a>

Vous pouvez arrêter manuellement votre tâche d'étiquetage de streaming à l'aide de cette opération [StopLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopLabelingJob.html). 

Si votre tâche d’étiquetage reste inactive pendant plus de 10 jours, elle est automatiquement arrêtée par Ground Truth. Dans ce contexte, une tâche d’étiquetage est considérée *idle (inactive)* si aucun objet n’est envoyé à la rubrique d’entrée Amazon SNS et qu’aucun objet ne reste dans votre file d’attente Amazon SQS, en attente d’être étiqueté. Par exemple, si aucun objet de données n’alimente la rubrique d’entrée Amazon SNS et que tous les objets envoyés à la tâche d’étiquetage sont déjà étiquetés, Ground Truth démarre un compte à rebours. Après le démarrage du compte à rebours, si aucun élément n’est reçu dans un délai de 10 jours, la tâche d’étiquetage est arrêtée. 

Lorsqu’une tâche d’étiquetage est arrêtée, son statut est `STOPPING`, tandis que Ground Truth nettoie les ressources de la tâche d’étiquetage et désabonne votre rubrique Amazon SNS de votre file d’attente Amazon SQS. La file d’attente Amazon SQS n’est *pas* supprimée par Ground Truth, car elle peut contenir des objets de données non traités. Vous devez supprimer manuellement la file d’attente si vous souhaitez éviter d’engager des frais supplémentaires de la part d’Amazon SQS. Pour en savoir plus, consultez [Tarification Amazon SQS](https://aws.amazon.com/sqs/pricing/).

# Étiquetage d’un fichier de configuration de catégorie d’étiquetage avec la référence d’attributs de catégorie d’étiquette et de trame
<a name="sms-label-cat-config-attributes"></a>

Lorsque vous créez une tâche d'étiquetage de nuages de points ou d'images vidéo en 3D à l'aide de l'opération d' SageMaker API Amazon`CreateLabelingJob`, vous utilisez un fichier de configuration des catégories d'étiquettes pour spécifier vos étiquettes et les instructions de travail. Vous pouvez également fournir ce qui suit dans votre fichier d’attributs de catégorie d’étiquette :
+ Vous pouvez fournir des *attributs de catégorie d’étiquette* pour les types de tâches de suivi et de détection d’objets dans les trames vidéo et les nuages de points 3D. Les employés peuvent affecter un ou plusieurs attributs aux annotations pour fournir plus d’informations sur cet objet. Par exemple, vous pouvez utiliser l’attribut *occluded* pour que les collaborateurs identifient les objets partiellement bloqués. Vous pouvez spécifier un attribut de catégorie d’étiquette pour une seule étiquette à l’aide du paramètre `categoryAttributes` ou pour toutes les étiquettes à l’aide du paramètre `categoryGlobalAttributes`. 
+ Vous pouvez fournir *attributs de trame* pour les types de tâches de suivi et de détection d’objets dans les trames vidéo et les nuages de points 3D à l’aide `frameAttributes`. Lorsque vous créez un attribut d’image, il apparaît sur chaque trame ou nuage de points de la tâche d’employé. Dans les tâches d’étiquetage de trame vidéo, il s’agit d’attributs que les employés attribuent à une trame vidéo entière. Pour les tâches d’étiquetage de nuage de points 3D, ces attributs sont appliqués à un nuage de points unique. Utilisez les attributs de cadre pour que les employés fournissent plus d’informations sur la scène dans une trame ou un nuage de points spécifique.
+ Pour les tâches d’étiquetage de trame vidéo, vous utilisez le fichier de configuration de catégorie d’étiquettes pour spécifier le type de tâche (cadre de délimitation, polyligne, polygone ou point clé) envoyé aux employés. 

Pour les employés, la spécification de valeurs pour les attributs de catégorie d’étiquette et les attributs de trame sera facultative.

**Important**  
Vous ne devez fournir un nom d’attribut d’étiquette dans `auditLabelAttributeName` que si vous exécutez une tâche d’audit pour vérifier ou ajuster des étiquettes. Utilisez ce paramètre pour saisir la valeur [LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName)utilisée dans la tâche d'étiquetage qui a généré les annotations que vous souhaitez que votre collaborateur ajuste. Lorsque vous créez une tâche d'étiquetage dans la console, si vous n'avez pas spécifié de nom d'attribut d'étiquette, le **nom** de votre tâche est utilisé comme LabelAttributeName.

Les rubriques suivantes montrent des exemples de fichier de configuration de catégorie d’étiquette pour différents types de tâches d’étiquetage. Ils expliquent également le schéma et les quotas d’un fichier de configuration de catégorie.

**Topics**
+ [Exemples : Fichiers de configuration des catégories d’étiquettes pour les tâches d’étiquetage de nuage de points 3D](#sms-label-cat-config-attributes-3d-pc)
+ [Exemples : fichiers de configuration de catégorie d’étiquettes pour les tâches d’étiquetage de trame vidéo](#sms-label-cat-config-attributes-vid-frame)
+ [Schéma du fichier de configuration de catégorie d’étiquette](#sms-label-cat-config-attributes-schema)
+ [Quotas d’attribut d’étiquette et de catégorie d’étiquette](#sms-point-cloud-label-cat-limits)

## Exemples : Fichiers de configuration des catégories d’étiquettes pour les tâches d’étiquetage de nuage de points 3D
<a name="sms-label-cat-config-attributes-3d-pc"></a>

Les rubriques suivantes montrent des exemples de fichiers de configuration de catégories d’étiquettes de nuage de points 3D pour les tâches d’étiquetage de détection d’objets, de suivi d’objets, de segmentation sémantique, d’ajustement et de vérification.

**Topics**
+ [Exemple : suivi d’objets de nuage de points 3D et détection d’objets](#example-3d-point-cloud-object)
+ [Exemple : segmentation sémantique du nuage de points 3D](#example-3d-point-cloud-semantic)
+ [Exemple : ajustement du nuage de points 3D](#example-3d-point-cloud-adjustment)
+ [Exemple : vérification du nuage de points 3D](#example-3d-point-cloud-verification)

### Exemple : suivi d’objets de nuage de points 3D et détection d’objets
<a name="example-3d-point-cloud-object"></a>

Voici un exemple de fichier de configuration de catégorie d’étiquette qui inclut des attributs de catégorie d’étiquette pour une tâche d’étiquetage de détection ou de suivi d’objets de nuage de points 3D. Cet exemple inclut deux attributs de trame, qui seront ajoutés à tous les nuages de points soumis à la tâche d’étiquetage. L'étiquette `Car` inclura quatre attributs de catégorie d'étiquette :`X`, `Y`, `Z` et l'attribut global `W`.

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"],
            "isRequired":true 
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"]
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"}
}
```

### Exemple : segmentation sémantique du nuage de points 3D
<a name="example-3d-point-cloud-semantic"></a>

Voici un exemple de fichier de configuration de catégorie d’étiquette pour une tâche d’étiquetage par segmentation sémantique de nuages de points 3D. 

Les attributs de catégorie d’étiquette ne sont pas pris en charge pour les types de tâches de segmentation sémantique de nuage de points 3D. Les attributs de trame sont pris en charge. Si vous fournissez des attributs de catégorie d’étiquette pour une tâche d’étiquetage de segmentation sémantique, ils seront ignorés.

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "labels": [
        {
            "label": "Car",
        },
        {
            "label": "Pedestrian",
        },
        {
            "label": "Cyclist",
        }
    ],
    "instructions": {"shortInstruction":"Select the appropriate label and paint all objects in the point cloud that it applies to the same color", "fullInstruction":"<html markup>"}
}
```

### Exemple : ajustement du nuage de points 3D
<a name="example-3d-point-cloud-adjustment"></a>

Voici un exemple de fichier de configuration de catégorie d’étiquette pour une tâche d’étiquetage de détection d’objets de nuage de points 3D ou de suivi d’objets. Pour les tâches d’étiquetage d’ajustement de segmentation sémantique de nuage de points 3D, `categoryGlobalAttributes` et `categoryAttributes` ne sont pas pris en charge. 

Vous devez inclure `auditLabelAttributeName` pour spécifier le nom d’attribut d’étiquette de la tâche d’étiquetage précédent que vous utilisez pour créer la tâche d’étiquetage d’ajustement. Le cas échéant, vous pouvez utiliser le paramètre `editsAllowed` pour spécifier si un attribut d’étiquette ou de trame peut être modifié ou non. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"none",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"any",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"any",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

### Exemple : vérification du nuage de points 3D
<a name="example-3d-point-cloud-verification"></a>

Voici un exemple de fichier de configuration de catégorie d’étiquette que vous pouvez utiliser pour une tâche de vérification des étiquettes de détection ou de suivi d’objets dans un nuage de points 3D. Pour une tâche de vérification des étiquettes de segmentation sémantique dans un nuage de points 3D, `categoryGlobalAttributes` et `categoryAttributes` ne sont pas pris en charge. 

Vous devez inclure `auditLabelAttributeName` pour spécifier le nom d’attribut d’étiquette de la tâche d’étiquetage précédent que vous utilisez pour créer la tâche d’étiquetage de vérification. En outre, vous devez utiliser le paramètre `editsAllowed` pour spécifier qu’aucune étiquette ne peut être modifiée. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"any", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"any", 
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"none", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"none", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"none"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label verification jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

## Exemples : fichiers de configuration de catégorie d’étiquettes pour les tâches d’étiquetage de trame vidéo
<a name="sms-label-cat-config-attributes-vid-frame"></a>

Les outils d’annotation disponibles pour votre employé et le type de tâche utilisé dépendent de la valeur que vous spécifiez pour `annotationType`. Par exemple, si vous souhaitez que les employés utilisent des points clés pour suivre les modifications de la pose d’objets spécifiques sur plusieurs trames, vous devez spécifier `Keypoint` pour `annotationType`. Si vous ne spécifiez aucun type d’annotation, `BoundingBox` sera utilisé par défaut. 

Les rubriques suivantes montrent des exemples de fichiers de configuration de catégories de trame vidéo.

**Topics**
+ [Exemple : point clé d’une trame vidéo](#example-video-frame-keypoint)
+ [Exemple : réglage de trame vidéo](#example-video-frame-adjustment)
+ [Exemple : vérification de trame vidéo](#example-video-frame-verification)

### Exemple : point clé d’une trame vidéo
<a name="example-video-frame-keypoint"></a>

Voici un exemple de fichier de configuration de catégorie d’étiquette de point clé pour une trame vidéo avec attributs de catégorie d’étiquette. Cet exemple inclut deux attributs de trame, qui seront ajoutés à toutes les trames soumises à la tâche d’étiquetage. L’étiquette `Car` inclura quatre attributs de catégorie d’étiquette : `X`, `Y`, `Z` et l’attribut global `W`. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"]
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"}
}
```

### Exemple : réglage de trame vidéo
<a name="example-video-frame-adjustment"></a>

Voici un exemple de fichier de configuration de catégorie d’étiquette que vous pouvez utiliser pour une tâche d’ajustement des étiquettes de trame vidéo.

Vous devez inclure `auditLabelAttributeName` pour spécifier le nom d'attribut d'étiquette de la tâche d'étiquetage précédent que vous utilisez pour créer la tâche d'étiquetage de vérification. Le cas échéant, vous pouvez utiliser le paramètre `editsAllowed` pour spécifier si les étiquettes, les attributs de catégorie d’étiquette ou les attributs de trame peuvent être modifiés. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"none", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"any", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"any", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"any"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

### Exemple : vérification de trame vidéo
<a name="example-video-frame-verification"></a>

Voici un exemple de fichier de configuration de catégorie d’étiquette pour une tâche d’étiquetage de trame vidéo.

Vous devez inclure `auditLabelAttributeName` pour spécifier le nom d'attribut d'étiquette de la tâche d'étiquetage précédent que vous utilisez pour créer la tâche d'étiquetage de vérification. En outre, vous devez utiliser le paramètre `editsAllowed` pour spécifier qu’aucune étiquette ne peut être modifiée. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"none", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"any", 
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"none", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"none", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"any"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

## Schéma du fichier de configuration de catégorie d’étiquette
<a name="sms-label-cat-config-attributes-schema"></a>

Le tableau suivant répertorie les éléments que vous pouvez et devez inclure dans votre fichier de configuration de catégorie d’étiquette.

**Note**  
Le paramètre `annotationType` est uniquement pris en charge pour les tâches d’étiquetage de trame vidéo. 


****  

|  Paramètre  |  Obligatoire  |  Valeurs acceptées  |  Description  | 
| --- | --- | --- | --- | 
| frameAttributes |  Non  |  Une liste d’objets JSON. **Paramètres requis dans chaque objet JSON :** `name`, `type`, `description` `minimum` et `maximum` sont obligatoires si le `type` est `"number"` **Paramètres facultatifs dans chaque objet JSON :** `enum`, `editsAllowed`, `isRequired`  | Utilisez ce paramètre pour créer un attribut de trame appliqué à toutes les trames ou à tous les nuages de points 3D dans votre tâche d’étiquetage.Consultez le troisième tableau de cette section pour plus d’informations.  | 
| categoryGlobalAttributes |  Non  |  Une liste d’objets JSON. **Paramètres requis dans chaque objet JSON :** `name`, `type` `minimum` et `maximum` sont obligatoires si le `type` est `"number"` **Paramètres facultatifs dans chaque objet JSON :** `description`, `enum`, `editsAllowed`, `isRequired`   | Utilisez ce paramètre pour créer des attributs de catégorie d’étiquette appliqués à toutes les étiquettes que vous spécifiez dans `labels`. Consultez le troisième tableau de cette section pour plus d'informations.  | 
| labels |  Oui  |  Une liste de 30 objets JSON maximum **Paramètres requis dans chaque objet JSON :** `label` **Paramètres facultatifs dans chaque objet JSON :** `categoryAttributes`, `editsAllowed`  |  Utilisez ce paramètre pour spécifier vos étiquettes ou classes. Ajoutez un élément `label` pour chaque classe.  Pour ajouter un attribut de catégorie d’étiquette à une étiquette, ajoutez `categoryAttributes` à cette étiquette. Utilisez `editsAllowed` pour spécifier si une étiquette peut ou non être modifiée dans une tâche d’ajustement des étiquettes. Définissez `editsAllowed` à `"none"` pour les tâches de vérification des étiquettes. Pour plus d’informations, consultez le tableau suivant.  | 
| annotationType (uniquement pris en charge pour les tâches d’étiquetage de trame vidéo)  |  Non   |  String **Paramètres acceptés :** `BoundingBox`, `Polyline`, `Polygon`, `Keypoint` **Valeur par défaut :** `BoundingBox`  |  Utilisez cette option pour spécifier le type de tâche pour vos tâches d’étiquetage de trame vidéo. Par exemple, pour une tâche de détection d’objet de trame vidéo par polygone, choisissez `Polygon`.  Si vous ne spécifiez aucun `annotationType` lorsque vous créez une tâche d’étiquetage de trame vidéo, Ground Truth utilise `BoundingBox` par défaut.   | 
| instructions |  Non  | Un objet JSONParamètres requis dans chaque objet JSON :`"shortInstruction"`, `"fullInstruction"` |  Utilisez ce paramètre pour ajouter des instructions de travail destinées à aider vos collaborateurs à accomplir leurs tâches. Pour plus d’informations sur les instructions de travail, consultez [Instructions à l’intention des travailleurs](sms-point-cloud-general-information.md#sms-point-cloud-worker-instructions-general).  Les instructions courtes doivent comporter moins de 255 caractères et les instructions longues doivent en comporter moins de 2 048.  Pour de plus amples informations, veuillez consulter [Création de pages d’instructions](sms-creating-instruction-pages.md).  | 
| auditLabelAttributeName |  Obligatoire pour les types de tâches d’ajustement et de vérification  |  String  |  Entrez la valeur [LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName)utilisée dans la tâche d'étiquetage dont vous souhaitez ajuster les annotations.  Utilisez ce paramètre uniquement si vous créez une tâche d’ajustement de détection ou de suivi d’objets dans une trame vidéo ou un nuage de points 3D, ou de segmentation sémantique dans un nuage de points 3D.   | 

### Schéma d’objet d’étiquettes
<a name="sms-labels-schema"></a>

Le tableau suivant décrit les paramètres que vous pouvez et devez utiliser pour créer une liste de `Labels`. Chaque paramètre doit être inclus dans un objet JSON. 


****  

| Paramètre | Obligatoire | Valeurs acceptées | Description | 
| --- | --- | --- | --- | 
| label |  Oui  |  String  |  Nom de la catégorie d’étiquettes qui s’affiche pour les employés. Chaque nom de catégorie d’étiquette doit être unique.  | 
| categoryAttributes |  Non  |  Une liste d’objets JSON. **Paramètres requis dans chaque objet JSON :** `name`, `type` `minimum` et `maximum` sont obligatoires si le `type` est `"number"` **Paramètres facultatifs dans chaque objet JSON :** `description`, `enum`, `editsAllowed`, `isRequired`  | Utilisez ce paramètre pour ajouter des attributs de catégorie d’étiquette à des étiquettes spécifiques que vous spécifiez dans `labels`. Pour ajouter un ou plusieurs attributs de catégorie d’étiquette à une étiquette, incluez l’objet JSON `categoryAttributes` dans le même objet JSON `labels` en tant que `label`.Pour plus d'informations, veuillez consulter le tableau suivant.  | 
| editsAllowed |  Non  |  String **Valeurs prises en charge** : `"none"` : aucune modification n’est autorisée. or `"any"` (Valeur par défaut) : toutes les modifications sont autorisées.  |  Spécifie si une étiquette peut ou non être modifiée par les employés. Pour les tâches d’*ajustement* de trame vidéo ou nuage de points 3D, ajoutez ce paramètre à un ou plusieurs objets JSON dans la liste `labels` pour spécifier si un employé peut ou non modifier une étiquette. Pour les tâches de *vérification* de trame vidéo ou nuage de points 3D, ajoutez ce paramètre avec la valeur `"none"` à chaque objet JSON dans la liste `labels`. Cela rendra toutes les étiquettes non modifiables.  | 

### FrameAttributes et schéma categoryGlobalAttributes
<a name="sms-category-attributes-schema"></a>

Le tableau suivant décrit les paramètres que vous pouvez et devez utiliser pour créer un attribut de trame à l’aide de `frameAttributes` et un attribut de catégorie d’étiquette à l’aide des paramètres `categoryGlobalAttributes` et `categoryAttributes`.


****  

|  Paramètre  |  Obligatoire  |  Valeurs acceptées  |  Description  | 
| --- | --- | --- | --- | 
| name |  Oui  |  String  |  Utilisez ce paramètre pour attribuer un nom à votre attribut de catégorie d’étiquette. Il s’agit du nom que les employés voient pour cet attribut. Chaque nom d’attribut de catégorie d’étiquette dans votre fichier de configuration de catégorie d’étiquette doit être unique. Les attributs de catégorie d’étiquette globale et les attributs de catégorie d’étiquette spécifiques à une étiquette ne peuvent pas avoir le même nom.  | 
| type |  Oui  |  String **Valeurs requises** : `"string"` ou `"number"`  |  Utilisez ce paramètre pour définir le type d’attribut de catégorie d’étiquette ou de trame.  Si vous spécifiez `"string"` pour `type` et fournir une valeur `enum` pour cet attribut, les employés pourront choisir parmi l’un des choix que vous proposez.  Si vous spécifiez `"string"` pour `type` et ne fournissent pas de valeur `enum`, les employés peuvent saisir du texte sous forme libre.  Si vous spécifiez `number` pour `type`, l’employé peut saisir un nombre entre le `minimum` et le `maximum` que vous spécifiez.   | 
| enum |  Non  |  Liste de chaînes  |  Utilisez ce paramètre pour définir les options que les employés peuvent choisir pour cet attribut de catégorie d’étiquette. Les collaborateurs peuvent choisir l’une des valeurs spécifiées dans `enum`. Par exemple, si vous spécifiez `["foo", "buzz", "bar"`] pour `enum`, les employés peuvent choisir entre `foo`, `buzz`, et `bar`. Vous devez spécifier `"string"` pour `type` pour utiliser une liste `enum`.  | 
| description |  `frameAttributes` : Oui `categoryAttributes` ou `categoryGlobalAttributes` : non  |  String  |  Utilisez ce paramètre pour ajouter une description de l’attribut de catégorie d’étiquette ou de trame. Vous pouvez utiliser ce champ pour donner aux employés plus d’informations sur l’attribut.  Ce champ n’est obligatoire que pour les attributs de trame.  | 
| minimum et maximum | Obligatoire si l’attribut type est "number" | Entiers |  Utilisez ces paramètres pour spécifier les valeurs minimales et maximales (inclusivement) que les employés peuvent saisir pour les attributs de catégorie d’étiquette numérique ou de trame. Vous devez spécifier `"number"` pour le `type` pour utiliser `minimum` et `maximum`.  | 
| editsAllowed |  Non  |  String **Valeurs requises** : `"none"` : aucune modification n'est autorisée. or `"any"` (Valeur par défaut) : toutes les modifications sont autorisées.  |  Spécifie si une catégorie d’étiquette ou un attribut de trame peut ou non être modifié par les employés. Pour les tâches d’*ajustement* et de *vérification* de trame vidéo ou nuage de points 3D, ajoutez ce paramètre aux objets JSON de catégorie d’étiquette et d’attribut de trame pour spécifier si un employé peut ou non modifier une étiquette.  | 
| isRequired |  Non  |  Booléen  |  Spécifie si les employés doivent annoter un attribut. Les employés ne peuvent pas soumettre la tâche tant que tous les attributs requis n’ont pas été annotés.  | 

## Quotas d’attribut d’étiquette et de catégorie d’étiquette
<a name="sms-point-cloud-label-cat-limits"></a>

Vous pouvez spécifier jusqu’à 10 attributs de catégorie d’étiquettes par classe. Ces quotas de 10 attributs incluent des attributs de catégorie d’étiquette globale. Par exemple, si vous créez quatre attributs de catégorie d’étiquette globale, puis que vous affectez trois attributs de catégorie d’étiquette à l’étiquette `X`, cette étiquette aura 4\$13=7 attributs de catégorie d’étiquette au total. Pour connaître toutes les limites des attributs de catégorie d’étiquette et des catégories d’étiquette, consultez le tableau suivant.


****  

|  Type  |  Min  |  Max  | 
| --- | --- | --- | 
|  Étiquettes (`Labels`)  |  1  |  30  | 
|  Quota de caractères du nom de l’étiquette  |  1  |  16  | 
|  Attributs de catégorie d’étiquette par étiquette (somme de `categoryAttributes` et `categoryGlobalAttributes`)  |  0 USD  |  10  | 
|  Attributs de catégorie d’étiquette de saisie de texte libre par étiquette (somme de `categoryAttributes` et `categoryGlobalAttributes`).   | 0 | 5 | 
|  Attributs de trame  |  0 USD  |  10  | 
|  Attributs de saisie de texte libre dans `frameAttributes`.  | 0 | 5 | 
|  Quota de caractères du nom d’attribut (`name`)  |  1  |  16  | 
|  Quota de caractères de la description d’attribut (`description`)  |  0  |  128  | 
|  Quota de caractères du type d’attribut (`type`)  |  1  |  16  | 
|  Valeurs autorisées dans la liste `enum` pour un attribut `string`  | 1 | 10 | 
|  Quota de caractères pour une valeur dans la liste `enum`  | 1 | 16 | 
| Nombre maximal de caractères dans la réponse de texte libre pour le texte libre frameAttributes | 0 | 1 000 | 
| Nombre maximal de caractères dans la réponse de texte libre pour le texte libre categoryAttributes et categoryGlobalAttributes | 0 | 80 | 