

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 (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. 