

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Trasformazione dei modelli con il comando `modeltransform`
<a name="machine-learning-api-modeltransform"></a>

È possibile utilizzare il comando `modeltransform` in Neptune ML per creare un processo di trasformazione dei modelli, controllarne lo stato, arrestarlo o elencare tutti i processi di trasformazione dei modelli attivi.

## Creazione di un processo di trasformazione dei modelli con il comando `modeltransform` in Neptune ML
<a name="machine-learning-api-modeltransform-create-job"></a>

Un comando `modeltransform` in Neptune ML per la creazione di un processo di trasformazione incrementale senza riaddestramento dei modelli ha il seguente aspetto:

------
#### [ 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"
```

Per ulteriori informazioni, vedere [start-ml-model-transform-job](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/start-ml-model-transform-job.html) nel AWS CLI Command Reference.

------
#### [ 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**  
Questo esempio presuppone che le AWS credenziali siano configurate nel proprio ambiente. Sostituisci *us-east-1* con la regione del tuo cluster Neptune.

------
#### [ 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 comando Neptune `modeltransform` ML per creare un lavoro da un lavoro di formazione AI SageMaker completato ha il seguente aspetto:

------
#### [ 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"
```

Per ulteriori informazioni, vedere [start-ml-model-transform-job](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/start-ml-model-transform-job.html) nel Command Reference. AWS CLI 

------
#### [ 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**  
Questo esempio presuppone che le AWS credenziali siano configurate nel proprio ambiente. Sostituisci *us-east-1* con la regione del tuo cluster Neptune.

------
#### [ 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` in Neptune ML per la creazione di un processo che usa l'implementazione di un modello personalizzato ha il seguente aspetto:

------
#### [ 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)"
  }'
```

Per ulteriori informazioni, vedere [start-ml-model-transform-job](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/start-ml-model-transform-job.html) nel Command Reference. AWS CLI 

------
#### [ 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**  
Questo esempio presuppone che le AWS credenziali siano configurate nel proprio ambiente. Sostituisci *us-east-1* con la regione del tuo cluster Neptune.

------
#### [ 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)"
        }
      }'
```

------

**Parametri per il comando `modeltransform` per la creazione del processo**
+ **`id`** (*facoltativo*): identificatore univoco per il nuovo processo.

  *Tipo:* stringa. *Impostazione predefinita*: un UUID generato automaticamente.
+ **`dataProcessingJobId`**: ID di un processo di elaborazione dei dati completato.

  *Tipo:* stringa.

  *Nota*: è necessario includere sia `dataProcessingJobId` che `mlModelTrainingJobId`, o `trainingJobName`.
+ **`mlModelTrainingJobId`**: ID di un processo di addestramento del modello completato.

  *Tipo:* stringa.

  *Nota*: è necessario includere sia `dataProcessingJobId` che `mlModelTrainingJobId`, o `trainingJobName`.
+ **`trainingJobName`**— Il nome di un lavoro di formazione sull' SageMaker intelligenza artificiale completato.

  *Tipo:* stringa.

  *Nota*: è necessario includere entrambi i parametri `dataProcessingJobId` e `mlModelTrainingJobId` oppure il parametro `trainingJobName`.
+ **`sagemakerIamRoleArn`**— (*Facoltativo*) L'ARN di un ruolo IAM per l'esecuzione dell' SageMaker IA.

  *Tipo:* stringa. *Nota*: deve essere elencato nel gruppo di parametri del cluster database o si verificherà un errore.
+ **`neptuneIamRoleArn`**— (*Facoltativo*) L'ARN di un ruolo IAM che fornisce a Neptune l'accesso alle risorse AI e SageMaker Amazon S3.

  *Tipo:* stringa. *Nota*: deve essere elencato nel gruppo di parametri del cluster database o si verificherà un errore.
+ **`customModelTransformParameters `** (*facoltativo*): informazioni di configurazione per una trasformazione del modello mediante un modello personalizzato. L'oggetto `customModelTransformParameters` contiene i seguenti campi, che devono avere valori compatibili con i parametri del modello salvati durante il processo di addestramento:
  + **`sourceS3DirectoryPath`** (*obbligatorio*): percorso della posizione Amazon S3 in cui si trova il modulo Python che implementa il modello. Deve indicare una posizione Amazon S3 esistente valida che contenga almeno uno script di addestramento, uno script di trasformazione e un file `model-hpo-configuration.json`.
  + **`transformEntryPointScript`** (*facoltativo*): nome del punto di ingresso nel modulo di uno script che deve essere eseguito dopo aver identificato il modello migliore ottenuto dalla ricerca degli iperparametri, in modo da calcolare gli artefatti del modello necessari per l'implementazione del modello. Deve poter essere eseguito senza argomenti della riga di comando.

    *Default*: `transform.py`
+ **`baseProcessingInstanceType`** (*facoltativo*): tipo di istanza ML utilizzata nella preparazione e nella gestione dell'addestramento dei modelli ML.

  *Tipo:* stringa. *Nota*: si tratta di un'istanza CPU scelta in base ai requisiti di memoria per l'elaborazione dei dati e del modello di trasformazione. Per informazioni, consulta [Selezione di un'istanza per l'addestramento e la trasformazione del modello](machine-learning-on-graphs-instance-selection.md#machine-learning-on-graphs-training-transform-instance-size).
+ **`baseProcessingInstanceVolumeSizeInGB`** (*facoltativo*): dimensioni del volume del disco dell'istanza di addestramento. Sia i dati di input che il modello di output vengono archiviati su disco, quindi le dimensioni del volume devono essere sufficientemente grandi da contenere entrambi i set di dati.

  *Tipo*: numero intero. *Default*: `0`

  *Nota*: se non è specificato o è pari a 0, Neptune ML seleziona le dimensioni del volume del disco in base alla raccomandazione generata nella fase di elaborazione dati. Per informazioni, consulta [Selezione di un'istanza per l'addestramento e la trasformazione del modello](machine-learning-on-graphs-instance-selection.md#machine-learning-on-graphs-training-transform-instance-size).
+ **`subnets`**— (*Facoltativo*) Le sottoreti IDs del VPC di Neptune.

  *Tipo*: elenco di stringhe. *Impostazione predefinita*: *none*.
+ **`securityGroupIds`**— (*Facoltativo*) Il gruppo di sicurezza VPC. IDs

  *Tipo*: elenco di stringhe. *Impostazione predefinita*: *none*.
+ **`volumeEncryptionKMSKey`**— (*Facoltativo*) La chiave AWS Key Management Service (AWS KMS) utilizzata da SageMaker AI per crittografare i dati sul volume di archiviazione collegato alle istanze di calcolo ML che eseguono il processo di trasformazione.

  *Tipo:* stringa. *Impostazione predefinita*: *none*.
+ **`enableInterContainerTrafficEncryption`** (*facoltativo*): abilita o disabilita la crittografia del traffico tra container nei processi di addestramento o di ottimizzazione degli iperparametri.

  *Tipo*: booleano. *Impostazione predefinita*: *True*.
**Nota**  
Il parametro `enableInterContainerTrafficEncryption` è disponibile solo nel [rilascio del motore 1.2.0.2.R3](engine-releases-1.2.0.2.R3.md).
+ **`s3OutputEncryptionKMSKey`**— (*Facoltativo*) La chiave AWS Key Management Service (AWS KMS) utilizzata dall' SageMaker IA per crittografare l'output del processo di elaborazione.

  *Tipo:* stringa. *Impostazione predefinita*: *none*.

## Recupero dello stato di un processo di trasformazione dei modelli con il comando `modeltransform` in Neptune ML
<a name="machine-learning-api-modeltransform-get-job-status"></a>

Un comando `modeltransform` di esempio in Neptune ML per lo stato di un processo ha il seguente aspetto:

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

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

Per ulteriori informazioni, vedere [get-ml-model-transform-job](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/get-ml-model-transform-job.html) nel AWS CLI Command Reference.

------
#### [ 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**  
Questo esempio presuppone che le AWS credenziali siano configurate nel proprio ambiente. Sostituisci *us-east-1* con la regione del tuo cluster Neptune.

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

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

------

**Parametri per il comando `modeltransform` per lo stato del processo**
+ **`id`** (*obbligatorio*): identificatore univoco del processo di trasformazione dei modelli.

  *Tipo:* stringa.
+ **`neptuneIamRoleArn`**— (*Facoltativo*) L'ARN di un ruolo IAM che fornisce a Neptune l'accesso alle risorse AI e SageMaker Amazon S3.

  *Tipo:* stringa. *Nota*: deve essere elencato nel gruppo di parametri del cluster database o si verificherà un errore.

## Arresto di un processo di trasformazione dei modelli con il comando `modeltransform` in Neptune ML
<a name="machine-learning-api-modeltransform-stop-job"></a>

Un comando `modeltransform` di esempio in Neptune ML per l'arresto di un processo ha il seguente aspetto:

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

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

Per pulire anche gli artefatti di Amazon S3:

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

Per ulteriori informazioni, consulta [cancel-ml-model-transform-job](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/cancel-ml-model-transform-job.html) nel Command Reference. AWS CLI 

------
#### [ 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
```

Per pulire anche gli artefatti di 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**  
Questo esempio presuppone che le AWS credenziali siano configurate nel tuo ambiente. Sostituisci *us-east-1* con la regione del tuo cluster Neptune.

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

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

Oppure questo:

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

------

**Parametri per il comando `modeltransform` per l'arresto del processo**
+ **`id`** (*obbligatorio*): identificatore univoco del processo di trasformazione dei modelli.

  *Tipo:* stringa.
+ **`neptuneIamRoleArn`**— (*Facoltativo*) L'ARN di un ruolo IAM che fornisce a Neptune l'accesso alle risorse AI e SageMaker Amazon S3.

  *Tipo:* stringa. *Nota*: deve essere elencato nel gruppo di parametri del cluster database o si verificherà un errore.
+ **`clean`** (*facoltativo*): questo flag specifica che tutti gli artefatti Amazon S3 devono essere eliminati quando il processo viene arrestato.

  *Tipo*: Boolean *Default*: `FALSE`

## Elenco dei processi di trasformazione dei modelli attivi con il comando `modeltransform` in Neptune ML
<a name="machine-learning-api-modeltransform-list-jobs"></a>

Un comando `modeltransform` di esempio in Neptune ML per l'elenco dei processi attivi ha il seguente aspetto:

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

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

Per limitare il numero di risultati:

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

Per ulteriori informazioni, vedere [list-ml-model-transform-jobs](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/list-ml-model-transform-jobs.html) nel AWS CLI Command Reference.

------
#### [ 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
```

Per limitare il numero di risultati:

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

**Nota**  
Questo esempio presuppone che le AWS credenziali siano configurate nell'ambiente in uso. Sostituisci *us-east-1* con la regione del tuo cluster Neptune.

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

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

Oppure questo:

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

------

**Parametri per il comando `modeltransform` per l'elenco dei processi**
+ **`maxItems`** (*facoltativo*): numero massimo di elementi da restituire.

  *Tipo*: numero intero. *Default*: `10` *Valore massimo consentito*: `1024`.
+ **`neptuneIamRoleArn`**— (*Facoltativo*) L'ARN di un ruolo IAM che fornisce a Neptune l'accesso alle risorse AI e SageMaker Amazon S3.

  *Tipo:* stringa. *Nota*: deve essere elencato nel gruppo di parametri del cluster database o si verificherà un errore.