

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

# Crea modelli di progetto personalizzati
<a name="sagemaker-projects-templates-custom"></a>

**Importante**  
A partire dal 28 ottobre 2024, i AWS CodeCommit modelli sono stati rimossi. Per i nuovi progetti, seleziona tra i modelli di progetto disponibili che utilizzano repository Git di terze parti. Per ulteriori informazioni, consulta [Modelli di progetto MLOps](sagemaker-projects-templates.md).

Se i SageMaker AI-provided modelli non soddisfano le tue esigenze (ad esempio, desideri un'orchestrazione più complessa CodePipeline con più fasi o fasi di approvazione personalizzate), crea i tuoi modelli.

Ti consigliamo di iniziare a utilizzare SageMaker AI-provided i modelli per capire come organizzare il codice e le risorse e basarti su di essi. Per fare ciò, dopo aver abilitato l'accesso dell'amministratore SageMaker ai modelli AI, accedi a [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/), scegli **Portfolio**, quindi scegli **Importati**. Per informazioni sul catalogo servizi, consulta [Panoramica del catalogo servizi](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html) nella *Guida per l’utente al catalogo servizi*.

Crea i tuoi modelli di progetto per personalizzare il tuo progetto MLOps. SageMaker I modelli di progetto AI sono prodotti forniti da Service Catalog per fornire le risorse per il tuo progetto MLOPS. 

Per creare un modello di progetto personalizzato, completa la seguente procedura.

1. Crea un portfolio. Per informazioni, consulta [Fase 3: creazione di un portfolio del catalogo servizi](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-portfolio.html).

1. Creazione di un prodotto Un prodotto è un modello. CloudFormation Puoi creare più versioni del prodotto. Per informazioni, consulta [Fase 4: creazione di un prodotto del catalogo servizi](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-product.html).

   Affinché il prodotto funzioni con SageMaker Projects, aggiungi i seguenti parametri al tuo modello di prodotto.

   ```
   SageMakerProjectName:
   Type: String
   Description: Name of the project
   
   SageMakerProjectId:
   Type: String
   Description: Service generated Id of the project.
   ```
**Importante**  
Ti consigliamo di inserire il CodeCommit repository nell'archivio del codice SageMaker AI affinché i repository del progetto siano visibili in modalità VPC. Il modello di esempio e l'aggiunta richiesta sono mostrati nei seguenti esempi di codice.  
Modello originale (esempio):  

   ```
   ModelBuildCodeCommitRepository:
       Type: AWS::CodeCommit::Repository
       Properties:
         # Max allowed length: 100 chars
         RepositoryName: !Sub sagemaker-${SageMakerProjectName}-${SageMakerProjectId}-modelbuild # max: 10+33+15+10=68
         RepositoryDescription: !Sub SageMaker Model building workflow infrastructure as code for the Project ${SageMakerProjectName}
         Code:
           S3:
             Bucket: {{SEEDCODE_BUCKETNAME}}
             Key: toolchain/model-building-workflow-v1.0.zip
           BranchName: main
   ```
Contenuti aggiuntivi da aggiungere in modalità VPC:  

   ```
   SageMakerRepository:
       Type: AWS::SageMaker::CodeRepository
       Properties:
           GitConfig:
               RepositoryUrl: !GetAtt ModelBuildCodeCommitRepository.CloneUrlHttp
               Branch: main
   ```

1. Aggiungi un vincolo di avvio. Un vincolo di avvio designa un ruolo IAM che il catalogo servizi assume quando un utente avvia un prodotto. Per informazioni, consulta [Fase 6: aggiunta di un vincolo di avvio per assegnare un ruolo IAM](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-launchconstraint.html).

1. Fornisci il prodotto per testare il modello [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/). Se il modello soddisfa le tue esigenze, continua con la fase successiva per renderlo disponibile in Studio (o Studio Classic).

1. Concedi l’accesso al portfolio Catalogo dei servizi creato nella fase 1 per il tuo ruolo di esecuzione di Studio (o Studio Classic). Utilizza il ruolo di esecuzione del dominio o un ruolo utente che abbia accesso a Studio (o Studio Classic). Per informazioni sull'aggiunta di un ruolo al portfolio, consulta [Fase 7: concessione dell’accesso al portfolio agli utenti finali](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-deploy.html).

1. Per rendere il modello di progetto disponibile nell’elenco **Modelli organizzazione** in Studio (o Studio Classic), crea un tag con la chiave e il valore seguenti per il prodotto del Catalogo dei servizi che hai creato nella fase 2.
   + **chiave**: `sagemaker:studio-visibility`
   + **valore**: `true`

Dopo aver completato queste fasi, gli utenti di Studio (o Studio Classic) nella tua organizzazione possono elaborare un progetto con il modello che hai creato seguendo la procedura in [Crea un progetto MLOps utilizzando Amazon SageMaker Studio o Studio Classic](sagemaker-projects-create.md) e scegliendo **Modelli dell’organizzazione** tra le opzioni per il modello.

## Utilizzo di un modello da un bucket Amazon S3
<a name="sagemaker-projects-templates-s3"></a>

Puoi anche creare SageMaker progetti utilizzando modelli archiviati in Amazon S3.

**Nota**  
Sebbene sia possibile utilizzare i modelli presenti in AWS Service Catalog, consigliamo di archiviarli in un bucket S3 e di creare progetti utilizzando tali modelli.

### Configurazione dell'amministratore
<a name="sagemaker-projects-templates-s3-setup"></a>

Prima di poter creare progetti utilizzando modelli in un bucket S3, procedi nel seguente modo.

1. [Crea un bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) e carica i tuoi modelli nel bucket.

1. [Imposta una policy CORS sul tuo bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html) per configurare le autorizzazioni di accesso.

1. Aggiungi il seguente tag chiave-valore al modello in modo che diventino visibili all'IA. SageMaker 

   ```
   sagemaker:studio-visibility : true
   ```

1. [Crea un dominio](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-quick-start.html).

1. Dopo che l' SageMaker IA ha finito di creare il tuo dominio, aggiungi il seguente tag chiave-valore al dominio:

   ```
   sagemaker:projectS3TemplatesLocation : s3://{{<amzn-s3-demo-bucket>}}
   ```

Quindi usa la AWS console, Python o le operazioni [CreateProject](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProject.html)e [UpdateProject](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateProject.html)API per creare o aggiornare un SageMaker progetto dai modelli all'interno del bucket S3.

------
#### [ Studio ]

**Creazione di un progetto**

1. Apri la console Amazon SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Apri la console SageMaker Studio seguendo le istruzioni in [Launch Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. Nel riquadro di navigazione a sinistra, scegli **Implementazioni**, **Progetti**, **Crea** progetto.

1. Scegli **Modelli di organizzazione** e poi **Modelli S3** per vedere i modelli disponibili. Se non vedi il modello che ti aspetti, avvisa il tuo amministratore.

1. Scegli il modello che desideri utilizzare, quindi scegli **Avanti**.

1. Inserisci un nome per il progetto, una descrizione opzionale e gli altri campi obbligatori. Al termine, selezionare **Create (Crea)**.

**Aggiorna un progetto**

1. Apri la console Amazon SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Apri la console SageMaker Studio seguendo le istruzioni in [Launch Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. Scegli il progetto che desideri aggiornare. Scegli **Azioni**, quindi scegli **Aggiorna progetto**.

1. Quando aggiorni un progetto, puoi aggiornare i parametri del modello o l'URL del modello. Al termine, selezionare **Next (Successivo)**.

1. Controlla gli aggiornamenti del progetto nella tabella di riepilogo e scegli **Aggiorna**.

------
#### [ Python Boto3 ]

Dopo aver creato il bucket S3 e caricato i modelli, puoi utilizzare il seguente esempio per creare un SageMaker progetto.

```
sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')

response = sagemaker_client.create_project(
    ProjectName='my-custom-project',
    ProjectDescription='SageMaker project with custom CFN template stored in S3',
    TemplateProviders=[{
        'CfnTemplateProvider': {
            'TemplateName': 'CustomProjectTemplate',
            'TemplateURL': f'https://{{<bucket_name>}}.s3.us-west-2.amazonaws.com/{{custom-project-template.yml}}',
            'Parameters': [
                {'Key': 'ParameterKey', 'Value': 'ParameterValue'}
            ]
        }
    }]
)
print(f"Project ARN: {response['ProjectArn']}")
```

Per aggiornare un SageMaker progetto, consulta l'esempio seguente.

```
sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')

response = sagemaker_client.update_project(
    ProjectName='my-custom-project',
    ProjectDescription='SageMaker project with custom CFN template stored in S3',
    TemplateProvidersToUpdate=[{
        'CfnTemplateProvider': {
            'TemplateName': 'CustomProjectTemplate',
            'TemplateURL': f'https://{{<bucket_name>}}.s3.us-west-2.amazonaws.com/{{custom-project-template.yml}}',
            'Parameters': [
                {'Key': 'ParameterKey', 'Value': 'ParameterValue'}
            ]
        }
    }]
)
print(f"Project ARN: {response['ProjectArn']}")
```

------