

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Crear un trabajo de etiquetado (API)
<a name="sms-create-labeling-job-api"></a>

Para crear un trabajo de etiquetado mediante la SageMaker API de Amazon, se utiliza la [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)operación. Para obtener instrucciones específicas sobre cómo crear un trabajo de etiquetado para un tipo de tarea integrada, consulte la [página de tipo de tarea](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html). Para aprender a crear un trabajo de etiquetado en streaming, que es un trabajo de etiquetado que se ejecuta de forma permanente, consulte [Creación de un trabajo de etiquetado en transmisión](sms-streaming-create-job.md).

Para utilizar la operación `CreateLabelingJob`, necesita lo siguiente:
+ Una plantilla de tarea del trabajador (`UiTemplateS3Uri`) o un ARN de interfaz de usuario de tareas humanas (`[HumanTaskUiArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-HumanTaskUiArn)`) en Amazon S3. 
  + Para los trabajos de nube de puntos 3D, los trabajos de detección y seguimiento de objetos en vídeo y los trabajos de NER, utilice el ARN que aparece en `HumanTaskUiArn` para el tipo de tarea.
  + Si utiliza un tipo de tarea integrada que no sea una tarea de nube de puntos 3D, puede agregar las instrucciones de trabajo a una de las plantillas prediseñadas y guardar la plantilla (con una extensión .html o .liquid) en el bucket de S3. Busque las plantillas de prediseñadas en la [página de tipo de tarea](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html).
  + Si utiliza un flujo de trabajo de etiquetado personalizado, puede crear una plantilla personalizada y guardarla en el bucket de S3. Para aprender a crear una plantilla de trabajo personalizada, consulte [Creación de una plantilla personalizada de tareas de trabajador](sms-custom-templates-step2.md). Para conocer los elementos HTML personalizados que puede utilizar para personalizar la plantilla, consulte [Referencia de Crowd HTML Elements](sms-ui-template-reference.md). Para ver un repositorio de plantillas de demostración para una variedad de tareas de etiquetado, consulta [Amazon SageMaker Ground Truth Sample Task UIs ](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis).
+ Un archivo de manifiesto de entrada que especifica los datos de entrada en Amazon S3. Especifique la ubicación del archivo de manifiesto de entrada en `ManifestS3Uri`. Para obtener información sobre cómo crear un manifiesto de entrada, consulte [Datos de entrada](sms-data-input.md). Si crea un trabajo de etiquetado en streaming, esto es opcional. Para aprender a crear un trabajo de etiquetado en streaming, consulte [Creación de un trabajo de etiquetado en transmisión](sms-streaming-create-job.md).
+ Un bucket de Amazon S3 para almacenar los datos de salida. Usted especifica este bucket y, opcionalmente, un prefijo en `S3OutputPath`.
+ Un archivo de configuración de categoría de etiqueta. El nombre de cada categoría de etiquetas debe ser único. Especifique la ubicación de este archivo en Amazon S3 utilizando el parámetro `LabelCategoryConfigS3Uri`. El formato y las categorías de etiquetas de este archivo dependen del tipo de tarea que utilice:
  + Para clasificación de imágenes y textos (etiquetas únicas y múltiples), debe especificar al menos dos categorías de etiquetas. Para todos los demás tipos de tareas, el número mínimo de categorías de etiquetas requeridas es una. 
  + En el caso de las tareas de reconocimiento de entidades con nombre, debe proporcionar las instrucciones de trabajo en este archivo. Consulte [Proporcionar instrucciones para trabajadores en el archivo de configuración de categorías de etiquetas](sms-named-entity-recg.md#worker-instructions-ner) para obtener información detallada y un ejemplo.
  + Para el tipo de tarea de nube de puntos 3D y fotogramas de vídeo, utilice el formato de [Archivo de configuración de categorías de etiquetado con atributos de categorías de etiquetas y fotogramas](sms-label-cat-config-attributes.md).
  + Para todos los demás tipos de tareas integradas y tareas personalizadas, el archivo de configuración de categoría de etiqueta debe ser un archivo JSON con el siguiente formato. Identifique las etiquetas que desea utilizar reemplazando `label_1`, `label_2`,`...` y `label_n` por las categorías de etiquetas. 

    ```
    {
        "document-version": "2018-11-28",
        "labels": [
            {"label": "label_1"},
            {"label": "label_2"},
            ...
            {"label": "label_n"}
        ]
    }
    ```
+ Un rol AWS Identity and Access Management (IAM) con la política de IAM [AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)administrada adjunta y con permisos para acceder a sus buckets de S3. Especifique este rol en `RoleArn`. Para obtener más información sobre esta política, consulte [Utilice las políticas administradas de IAM con Ground Truth](sms-security-permissions-get-started.md). Si necesita permisos pormenorizados, consulte [Asigne permisos de IAM para usar Ground Truth](sms-security-permission.md).

  Si el nombre del bucket de entrada o salida no contiene `sagemaker`, puede asociar una política similar a la siguiente al rol que se pasa a la operación `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 nombre de recurso de Amazon (ARN) de la función AWS Lambda de preanotación y postanotación (o de consolidación de anotaciones) para procesar los datos de entrada y de salida. 
  + Las funciones Lambda están predefinidas en cada AWS región para los tipos de tareas integradas. Para encontrar el ARN Lambda previo a la anotación correspondiente a su región, consulte. [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn) Para encontrar el ARN Lambda de consolidación de anotaciones de su región, consulte. [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 
  + Para flujos de trabajo de etiquetado personalizados, debe proporcionar un ARN de Lambda de preanotación y postanotación personalizado. Para obtener información sobre cómo crear estas funciones de Lambda, consulte [Procesar datos en un flujo de trabajo de etiquetado personalizado con AWS Lambda](sms-custom-templates-step3.md).
+ Un ARN de equipo de trabajo que especifique en `WorkteamArn`. Recibirá un ARN de equipo de trabajo cuando se suscriba a la plantilla de un proveedor o cree un equipo de trabajo privado. Si va a crear un trabajo de etiquetado para un fotograma de vídeo o un tipo de tarea de nube de puntos, no podrá utilizar personal. Amazon Mechanical Turk Para todos los demás tipos de tareas, para utilizar el personal de Mechanical Turk, utilice el siguiente ARN. *`region`*Sustitúyala por la AWS región que estás utilizando para crear el trabajo de etiquetado.

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

  Si utiliza el [personal de Amazon Mechanical Turk](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html), utilice el parámetro `ContentClassifiers` en `DataAttributes` para declarar que el contenido está libre de información de identificación personal o contenido para adultos. 

  Ground Truth *exige* que sus datos de entrada estén libres de información de identificación personal (PII) si utiliza el personal de Mechanical Turk. Si utiliza Mechanical Turk y no especifica que los datos de entrada están libres de PII utilizando la marca `FreeOfPersonallyIdentifiableInformation`, el trabajo de etiquetado producirá un error. Usa la `FreeOfAdultContent` bandera para declarar que los datos introducidos no contienen contenido para adultos. SageMaker La IA puede restringir el número de trabajadores de Amazon Mechanical Turk que puedan ver tu tarea si contiene contenido para adultos. 

  Para obtener más información sobre los equipos de trabajo y el personal, consulte [Personal](sms-workforce-management.md). 
+ Si utiliza el personal de Mechanical Turk, debe especificar el precio que pagará a los trabajadores por realizar una tarea en `PublicWorkforceTaskPrice`.
+ Para configurar la tarea, debe proporcionar una descripción y un título utilizando `TaskDescription` y `TaskTitle`, respectivamente. Si lo desea, puede establecer límites de tiempo que controlen cuánto tiempo tienen que trabajar los trabajadores en una tarea individual (`TaskTimeLimitInSeconds`) y cuánto tiempo permanecen las tareas en el portal del trabajador a su disposición (`TaskAvailabilityLifetimeInSeconds`).
+ (Opcional) Para [algunos tipos de tareas](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html), puede hacer que varios trabajadores etiqueten un solo objeto de datos introduciendo un número mayor que uno en el parámetro `NumberOfHumanWorkersPerDataObject`. Para obtener más información acerca de la consolidación de anotaciones, consulte [Consolidación de anotaciones](sms-annotation-consolidation.md).
+ (Opcional) Para crear un trabajo de etiquetado de datos automatizado, especifique uno de los que ARNs aparecen [LabelingJobAlgorithmSpecificationArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html)en`LabelingJobAlgorithmsConfig`. Este ARN identifica el algoritmo trabajador en el trabajo de etiquetado de datos automatizado. El tipo de tarea asociado a este ARN debe coincidir con el tipo de tarea del `PreHumanTaskLambdaArn` y `AnnotationConsolidationLambdaArn` que especifique. El etiquetado de datos automatizado es compatible con los siguientes tipos de tareas: clasificación de imágenes, cuadro delimitador, segmentación semántica y clasificación de texto. El número mínimo de objetos permitidos para el etiquetado de datos automatizado es de 1250, pero recomendamos encarecidamente proporcionar un mínimo de 5000 objetos. Para obtener más información sobre los trabajos de etiquetado de datos automatizado, consulte [Automatización del etiquetado de datos](sms-automated-labeling.md).
+ (Opcional) Puede proporcionar [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) que hagan que el trabajo de etiquetado se detenga si se cumple una de las condiciones. Puede utilizar las condiciones de detención para controlar el costo del trabajo de etiquetado.

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

Los siguientes ejemplos de código muestran cómo crear un trabajo de etiquetado utilizando `CreateLabelingJob`. También puedes ver estos cuadernos de ejemplo GitHub en el [repositorio de ejemplos de SageMaker IA](https://github.com/aws/amazon-sagemaker-examples/tree/master/ground_truth_labeling_jobs).

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

A continuación se ofrece un ejemplo de [solicitud del SDK de AWS Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) para crear un trabajo de etiquetado para un tipo de tarea integrada en la región Este de EE. UU. (Norte de Virginia). *red-italized text*Sustitúyalos todos por los recursos y especificaciones de su trabajo de etiquetado. 

```
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 ]

El siguiente es un ejemplo de una solicitud de AWS CLI para crear un trabajo de etiquetado para un tipo de tarea integrada en la región EE.UU. Este (Virginia del Norte) con el personal de [Amazon Mechanical Turk](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html). Para obtener más información, consulte [start-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-labeling-job.html) en la *Referencia de comandos de la [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. *red-italized text*Sustitúyalo todo por los recursos y las especificaciones de su trabajo de etiquetado. 

```
$ 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"
        }
    }'
```

------

Para obtener más información acerca de esta operación, consulte [CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateLabelingJob.html). Para obtener información sobre cómo usar otros idiomas específicos SDKs, consulte [Consulte también](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateLabelingJob.html#API_CreateLabelingJob_SeeAlso) en el `CreateLabelingJobs` tema. 