

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.

# Transformación de modelos mediante el comando `modeltransform`
<a name="machine-learning-api-modeltransform"></a>

El comando `modeltransform` de Neptune ML se utiliza para crear un trabajo de transformación de modelos, comprobar su estado, detenerlo o enumerar todos los trabajos de transformación de modelos activos.

## Creación de un trabajo de transformación de modelos mediante el comando `modeltransform` de Neptune ML
<a name="machine-learning-api-modeltransform-create-job"></a>

Un comando `modeltransform` de Neptune ML para crear un trabajo de transformación incremental, sin tener que volver a entrenar los modelos, tiene el siguiente aspecto:

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

```
aws neptunedata start-ml-model-transform-job \
  --endpoint-url https://your-neptune-endpoint:port \
  --id "(a unique model-transform job ID)" \
  --data-processing-job-id "(the job-id of a completed data-processing job)" \
  --ml-model-training-job-id "(the job-id of a completed model-training job)" \
  --model-transform-output-s3-location "s3://(your S3 bucket)/neptune-model-transform"
```

Para obtener más información, consulte [start-ml-model-transform-job](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/start-ml-model-transform-job.html) en la Referencia de AWS CLI comandos.

------
#### [ SDK ]

```
import boto3
from botocore.config import Config

client = boto3.client(
    'neptunedata',
    endpoint_url='https://your-neptune-endpoint:port',
    config=Config(read_timeout=None, retries={'total_max_attempts': 1})
)

response = client.start_ml_model_transform_job(
    id='(a unique model-transform job ID)',
    dataProcessingJobId='(the job-id of a completed data-processing job)',
    mlModelTrainingJobId='(the job-id of a completed model-training job)',
    modelTransformOutputS3Location='s3://(your S3 bucket)/neptune-model-transform'
)

print(response)
```

------
#### [ awscurl ]

```
awscurl https://your-neptune-endpoint:port/ml/modeltransform \
  --region us-east-1 \
  --service neptune-db \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{
        "id" : "(a unique model-transform job ID)",
        "dataProcessingJobId" : "(the job-id of a completed data-processing job)",
        "mlModelTrainingJobId" : "(the job-id of a completed model-training job)",
        "modelTransformOutputS3Location" : "s3://(your S3 bucket)/neptune-model-transform"
      }'
```

**nota**  
En este ejemplo se supone que sus AWS credenciales están configuradas en su entorno. *us-east-1*Sustitúyala por la región de tu cúmulo de Neptuno.

------
#### [ curl ]

```
curl \
  -X POST https://your-neptune-endpoint:port/ml/modeltransform \
  -H 'Content-Type: application/json' \
  -d '{
        "id" : "(a unique model-transform job ID)",
        "dataProcessingJobId" : "(the job-id of a completed data-processing job)",
        "mlModelTrainingJobId" : "(the job-id of a completed model-training job)",
        "modelTransformOutputS3Location" : "s3://(your S3 bucket)/neptune-model-transform"
      }'
```

------

Un `modeltransform` comando de Neptune ML para crear un trabajo a partir de un trabajo de formación de SageMaker IA completado tiene el siguiente aspecto:

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

```
aws neptunedata start-ml-model-transform-job \
  --endpoint-url https://your-neptune-endpoint:port \
  --id "(a unique model-transform job ID)" \
  --training-job-name "(name of a completed SageMaker training job)" \
  --model-transform-output-s3-location "s3://(your S3 bucket)/neptune-model-transform"
```

Para obtener más información, consulte [start-ml-model-transform-job](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/start-ml-model-transform-job.html) en la Referencia de AWS CLI comandos.

------
#### [ SDK ]

```
import boto3
from botocore.config import Config

client = boto3.client(
    'neptunedata',
    endpoint_url='https://your-neptune-endpoint:port',
    config=Config(read_timeout=None, retries={'total_max_attempts': 1})
)

response = client.start_ml_model_transform_job(
    id='(a unique model-transform job ID)',
    trainingJobName='(name of a completed SageMaker training job)',
    modelTransformOutputS3Location='s3://(your S3 bucket)/neptune-model-transform'
)

print(response)
```

------
#### [ awscurl ]

```
awscurl https://your-neptune-endpoint:port/ml/modeltransform \
  --region us-east-1 \
  --service neptune-db \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{
        "id" : "(a unique model-transform job ID)",
        "trainingJobName" : "(name of a completed SageMaker training job)",
        "modelTransformOutputS3Location" : "s3://(your S3 bucket)/neptune-model-transform"
      }'
```

**nota**  
En este ejemplo se supone que sus AWS credenciales están configuradas en su entorno. *us-east-1*Sustitúyala por la región de tu cúmulo de Neptuno.

------
#### [ curl ]

```
curl \
  -X POST https://your-neptune-endpoint:port/ml/modeltransform \
  -H 'Content-Type: application/json' \
  -d '{
        "id" : "(a unique model-transform job ID)",
        "trainingJobName" : "(name of a completed SageMaker training job)",
        "modelTransformOutputS3Location" : "s3://(your S3 bucket)/neptune-model-transform"
      }'
```

------

Un comando `modeltransform` de Neptune ML para crear un trabajo que utiliza una implementación de modelos personalizados tiene el siguiente aspecto:

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

```
aws neptunedata start-ml-model-transform-job \
  --endpoint-url https://your-neptune-endpoint:port \
  --id "(a unique model-transform job ID)" \
  --training-job-name "(name of a completed SageMaker training job)" \
  --model-transform-output-s3-location "s3://(your Amazon S3 bucket)/neptune-model-transform/" \
  --custom-model-transform-parameters '{
    "sourceS3DirectoryPath": "s3://(your Amazon S3 bucket)/(path to your Python module)",
    "transformEntryPointScript": "(your transform script entry-point name in the Python module)"
  }'
```

Para obtener más información, consulte [start-ml-model-transform-job](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/start-ml-model-transform-job.html) en la Referencia de AWS CLI comandos.

------
#### [ SDK ]

```
import boto3
from botocore.config import Config

client = boto3.client(
    'neptunedata',
    endpoint_url='https://your-neptune-endpoint:port',
    config=Config(read_timeout=None, retries={'total_max_attempts': 1})
)

response = client.start_ml_model_transform_job(
    id='(a unique model-transform job ID)',
    trainingJobName='(name of a completed SageMaker training job)',
    modelTransformOutputS3Location='s3://(your Amazon S3 bucket)/neptune-model-transform/',
    customModelTransformParameters={
        'sourceS3DirectoryPath': 's3://(your Amazon S3 bucket)/(path to your Python module)',
        'transformEntryPointScript': '(your transform script entry-point name in the Python module)'
    }
)

print(response)
```

------
#### [ awscurl ]

```
awscurl https://your-neptune-endpoint:port/ml/modeltransform \
  --region us-east-1 \
  --service neptune-db \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{
        "id" : "(a unique model-transform job ID)",
        "trainingJobName" : "(name of a completed SageMaker training job)",
        "modelTransformOutputS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-transform/",
        "customModelTransformParameters" : {
          "sourceS3DirectoryPath": "s3://(your Amazon S3 bucket)/(path to your Python module)",
          "transformEntryPointScript": "(your transform script entry-point name in the Python module)"
        }
      }'
```

**nota**  
En este ejemplo se supone que sus AWS credenciales están configuradas en su entorno. *us-east-1*Sustitúyala por la región de tu cúmulo de Neptuno.

------
#### [ curl ]

```
curl \
  -X POST https://your-neptune-endpoint:port/ml/modeltransform \
  -H 'Content-Type: application/json' \
  -d '{
        "id" : "(a unique model-transform job ID)",
        "trainingJobName" : "(name of a completed SageMaker training job)",
        "modelTransformOutputS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-transform/",
        "customModelTransformParameters" : {
          "sourceS3DirectoryPath": "s3://(your Amazon S3 bucket)/(path to your Python module)",
          "transformEntryPointScript": "(your transform script entry-point name in the Python module)"
        }
      }'
```

------

**Parámetros para la creación de trabajos de `modeltransform`**
+ **`id`**: (*opcional*) un identificador único para el trabajo nuevo.

  *Tipo*: cadena. *Valor predeterminado*: un UUID generado automáticamente.
+ **`dataProcessingJobId`**: el ID del trabajo de un trabajo de procesamiento de datos completado.

  *Tipo*: cadena.

  *Nota*: Debe incluir los valores `dataProcessingJobId` y `mlModelTrainingJobId`, o `trainingJobName`.
+ **`mlModelTrainingJobId`**: el ID de trabajo de un trabajo de entrenamiento de modelos completado.

  *Tipo*: cadena.

  *Nota*: Debe incluir los valores `dataProcessingJobId` y `mlModelTrainingJobId`, o `trainingJobName`.
+ **`trainingJobName`**— El nombre de un puesto de formación en SageMaker IA realizado.

  *Tipo*: cadena.

  *Nota*: Debe incluir los parámetros `dataProcessingJobId` y `mlModelTrainingJobId`, o el parámetro `trainingJobName`.
+ **`sagemakerIamRoleArn`**— (*Opcional*) El ARN de un rol de IAM para SageMaker la ejecución de la IA.

  *Tipo*: cadena. *Nota*: Debe figurar en el grupo de parámetros del clúster de base de datos o se producirá un error.
+ **`neptuneIamRoleArn`**— (*Opcional*) El ARN de un rol de IAM que proporciona a Neptune acceso a los recursos de IA y SageMaker Amazon S3.

  *Tipo*: cadena. *Nota*: Debe figurar en el grupo de parámetros del clúster de base de datos o se producirá un error.
+ **`customModelTransformParameters `**: (*opcional*) información de configuración para la transformación de un modelo mediante un modelo personalizado. El objeto `customModelTransformParameters` incluye los siguientes campos, que deben tener valores compatibles con los parámetros del modelo guardados del trabajo de entrenamiento:
  + **`sourceS3DirectoryPath`**: (*obligatorio*) la ruta a la ubicación de Amazon S3 donde se encuentra el módulo de Python que implementa el modelo. Debe apuntar a una ubicación válida de Amazon S3 existente que incluya, como mínimo, un script de entrenamiento, un script de transformación y un archivo `model-hpo-configuration.json`.
  + **`transformEntryPointScript`**: (*opcional*) el nombre del punto de entrada en el módulo de un script que debe ejecutarse después de identificar el mejor modelo de la búsqueda de hiperparámetros, con el fin de calcular los artefactos de modelos necesarios para su implementación. Debería poder ejecutarse sin argumentos de línea de comandos.

    *Valor predeterminado*: `transform.py`.
+ **`baseProcessingInstanceType`**: (*opcional*) el tipo de instancia de ML que se utiliza para preparar y administrar el entrenamiento de modelos de ML.

  *Tipo*: cadena. *Nota*: Se trata de una instancia de CPU que se elige en función de los requisitos de memoria para procesar los datos y el modelo de transformación. Consulte [Selección de una instancia para el entrenamiento y la transformación de modelos](machine-learning-on-graphs-instance-selection.md#machine-learning-on-graphs-training-transform-instance-size).
+ **`baseProcessingInstanceVolumeSizeInGB`**: (*opcional*) el tamaño del volumen del disco de la instancia de entrenamiento. Tanto los datos de entrada como los datos de salida se almacenan en el disco, por lo que el tamaño del volumen debe ser lo suficientemente grande como para incluir ambos conjuntos de datos.

  *Tipo*: número entero. *Valor predeterminado*: `0`.

  *Nota*: Si no se especifica o el valor es 0, Neptune ML selecciona un tamaño de volumen de disco en función de la recomendación generada en el paso de procesamiento de datos. Consulte [Selección de una instancia para el entrenamiento y la transformación de modelos](machine-learning-on-graphs-instance-selection.md#machine-learning-on-graphs-training-transform-instance-size).
+ **`subnets`**— (*Opcional*) La IDs de las subredes de la VPC de Neptune.

  *Tipo*: lista de cadenas. *Valor predeterminado*: *ninguno*.
+ **`securityGroupIds`**— (*Opcional*) El grupo de seguridad de VPC. IDs

  *Tipo*: lista de cadenas. *Valor predeterminado*: *ninguno*.
+ **`volumeEncryptionKMSKey`**— (*Opcional*) La clave AWS Key Management Service (AWS KMS) que utiliza la SageMaker IA para cifrar los datos del volumen de almacenamiento adjunto a las instancias de procesamiento de aprendizaje automático que ejecutan el trabajo de transformación.

  *Tipo*: cadena. *Valor predeterminado*: *ninguno*.
+ **`enableInterContainerTrafficEncryption`**: (*opcional*) habilite o deshabilite el cifrado del tráfico entre contenedores en trabajos de entrenamiento o de ajuste de hiperparámetros.

  *Tipo*: booleano. *Valor predeterminado*: *true*.
**nota**  
El parámetro `enableInterContainerTrafficEncryption` solo está disponible en la [versión 1.2.0.2.R3 del motor](engine-releases-1.2.0.2.R3.md).
+ **`s3OutputEncryptionKMSKey`**— (*Opcional*) La clave AWS Key Management Service (AWS KMS) que utiliza la SageMaker IA para cifrar el resultado del trabajo de procesamiento.

  *Tipo*: cadena. *Valor predeterminado*: *ninguno*.

## Obtención del estado de un trabajo de transformación de modelos mediante el comando `modeltransform` de Neptune ML
<a name="machine-learning-api-modeltransform-get-job-status"></a>

Un ejemplo del comando `modeltransform` de Neptune ML para el estado de un trabajo:

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

```
aws neptunedata get-ml-model-transform-job \
  --endpoint-url https://your-neptune-endpoint:port \
  --id "(the job ID)"
```

Para obtener más información, consulte [get-ml-model-transform-job](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/get-ml-model-transform-job.html) en la Referencia de AWS CLI comandos.

------
#### [ SDK ]

```
import boto3
from botocore.config import Config

client = boto3.client(
    'neptunedata',
    endpoint_url='https://your-neptune-endpoint:port',
    config=Config(read_timeout=None, retries={'total_max_attempts': 1})
)

response = client.get_ml_model_transform_job(
    id='(the job ID)'
)

print(response)
```

------
#### [ awscurl ]

```
awscurl https://your-neptune-endpoint:port/ml/modeltransform/(the job ID) \
  --region us-east-1 \
  --service neptune-db \
  -X GET
```

**nota**  
En este ejemplo se supone que sus AWS credenciales están configuradas en su entorno. *us-east-1*Sustitúyala por la región de tu cúmulo de Neptuno.

------
#### [ curl ]

```
curl -s \
  "https://your-neptune-endpoint:port/ml/modeltransform/(the job ID)" \
  | python -m json.tool
```

------

**Parámetros para el estado del trabajo de `modeltransform`**
+ **`id`**: (*obligatorio*) el identificador único del trabajo de transformación de modelos.

  *Tipo*: cadena.
+ **`neptuneIamRoleArn`**— (*Opcional*) El ARN de un rol de IAM que proporciona a Neptune acceso a los recursos de IA y SageMaker Amazon S3.

  *Tipo*: cadena. *Nota*: Debe figurar en el grupo de parámetros del clúster de base de datos o se producirá un error.

## Detención de un trabajo de transformación de modelos mediante el comando `modeltransform` de Neptune ML
<a name="machine-learning-api-modeltransform-stop-job"></a>

Un ejemplo del comando `modeltransform` de Neptune ML para detener un trabajo:

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

```
aws neptunedata cancel-ml-model-transform-job \
  --endpoint-url https://your-neptune-endpoint:port \
  --id "(the job ID)"
```

Para limpiar también los artefactos de Amazon S3:

```
aws neptunedata cancel-ml-model-transform-job \
  --endpoint-url https://your-neptune-endpoint:port \
  --id "(the job ID)" \
  --clean
```

Para obtener más información, consulte [cancel-ml-model-transform-job](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/cancel-ml-model-transform-job.html) en la Referencia de AWS CLI comandos.

------
#### [ SDK ]

```
import boto3
from botocore.config import Config

client = boto3.client(
    'neptunedata',
    endpoint_url='https://your-neptune-endpoint:port',
    config=Config(read_timeout=None, retries={'total_max_attempts': 1})
)

response = client.cancel_ml_model_transform_job(
    id='(the job ID)',
    clean=True
)

print(response)
```

------
#### [ awscurl ]

```
awscurl https://your-neptune-endpoint:port/ml/modeltransform/(the job ID) \
  --region us-east-1 \
  --service neptune-db \
  -X DELETE
```

Para limpiar también los artefactos de Amazon S3:

```
awscurl "https://your-neptune-endpoint:port/ml/modeltransform/(the job ID)?clean=true" \
  --region us-east-1 \
  --service neptune-db \
  -X DELETE
```

**nota**  
En este ejemplo se supone que sus AWS credenciales están configuradas en su entorno. *us-east-1*Sustitúyala por la región de tu cúmulo de Neptuno.

------
#### [ curl ]

```
curl -s \
  -X DELETE "https://your-neptune-endpoint:port/ml/modeltransform/(the job ID)"
```

Otro ejemplo:

```
curl -s \
  -X DELETE "https://your-neptune-endpoint:port/ml/modeltransform/(the job ID)?clean=true"
```

------

**Parámetros para el trabajo de detención de `modeltransform`**
+ **`id`**: (*obligatorio*) el identificador único del trabajo de transformación de modelos.

  *Tipo*: cadena.
+ **`neptuneIamRoleArn`**— (*Opcional*) El ARN de un rol de IAM que proporciona a Neptune acceso a los recursos de IA y SageMaker Amazon S3.

  *Tipo*: cadena. *Nota*: Debe figurar en el grupo de parámetros del clúster de base de datos o se producirá un error.
+ **`clean`**: (*opcional*) este indicador especifica que todos los artefactos de Amazon S3 deben eliminarse cuando se detiene el trabajo.

  *Tipo*: booleano. *Valor predeterminado*: `FALSE`.

## Enumeración de trabajos de transformación de modelos activos mediante el comando `modeltransform` de Neptune ML
<a name="machine-learning-api-modeltransform-list-jobs"></a>

Un ejemplo del comando `modeltransform` de Neptune ML para enumerar los trabajos activos:

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

```
aws neptunedata list-ml-model-transform-jobs \
  --endpoint-url https://your-neptune-endpoint:port
```

Para limitar el número de resultados:

```
aws neptunedata list-ml-model-transform-jobs \
  --endpoint-url https://your-neptune-endpoint:port \
  --max-items 3
```

Para obtener más información, consulte [list-ml-model-transform-jobs](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/list-ml-model-transform-jobs.html) en la Referencia de AWS CLI comandos.

------
#### [ SDK ]

```
import boto3
from botocore.config import Config

client = boto3.client(
    'neptunedata',
    endpoint_url='https://your-neptune-endpoint:port',
    config=Config(read_timeout=None, retries={'total_max_attempts': 1})
)

response = client.list_ml_model_transform_jobs(
    maxItems=3
)

print(response)
```

------
#### [ awscurl ]

```
awscurl https://your-neptune-endpoint:port/ml/modeltransform \
  --region us-east-1 \
  --service neptune-db \
  -X GET
```

Para limitar el número de resultados:

```
awscurl "https://your-neptune-endpoint:port/ml/modeltransform?maxItems=3" \
  --region us-east-1 \
  --service neptune-db \
  -X GET
```

**nota**  
En este ejemplo se supone que sus AWS credenciales están configuradas en su entorno. *us-east-1*Sustitúyala por la región de tu cúmulo de Neptuno.

------
#### [ curl ]

```
curl -s "https://your-neptune-endpoint:port/ml/modeltransform" | python -m json.tool
```

Otro ejemplo:

```
curl -s "https://your-neptune-endpoint:port/ml/modeltransform?maxItems=3" | python -m json.tool
```

------

**Parámetros para los trabajos de enumeración de `modeltransform`**
+ **`maxItems`**: (*opcional*) el número máximo de elementos que devolver.

  *Tipo*: número entero. *Valor predeterminado*: `10`. *Valor máximo permitido*: `1024`.
+ **`neptuneIamRoleArn`**— (*Opcional*) El ARN de un rol de IAM que proporciona a Neptune acceso a los recursos de IA y SageMaker Amazon S3.

  *Tipo*: cadena. *Nota*: Debe figurar en el grupo de parámetros del clúster de base de datos o se producirá un error.