

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

# Tutorial: Inizia a usare SageMaker AI Edge Manager
<a name="get-started-with-edge-manager-on-greengrass"></a>

**Importante**  
SageMaker AI Edge Manager è stato interrotto il 26 aprile 2024. Per ulteriori informazioni su come continuare a distribuire i tuoi modelli sui dispositivi edge, consulta la sezione End of life di [SageMaker AI Edge Manager](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-eol.html).

Amazon SageMaker AI Edge Manager è un agente software che funziona su dispositivi edge. SageMaker AI Edge Manager fornisce la gestione dei modelli per i dispositivi edge in modo da poter impacchettare e utilizzare i modelli compilati da Amazon SageMaker AI NEO direttamente sui dispositivi core di Greengrass. Utilizzando SageMaker AI Edge Manager, puoi anche campionare i dati di input e output del modello dai tuoi dispositivi principali e inviarli a loro Cloud AWS per il monitoraggio e l'analisi. Per ulteriori informazioni su come funziona SageMaker AI Edge Manager sui dispositivi core Greengrass, consulta. [Usa Amazon SageMaker AI Edge Manager sui dispositivi core Greengrass](use-sagemaker-edge-manager.md)

Questo tutorial mostra come iniziare a utilizzare SageMaker AI Edge Manager con componenti AWS di esempio forniti su un dispositivo principale esistente. Questi componenti di esempio utilizzano il componente SageMaker AI Edge Manager come dipendenza per distribuire l'agente Edge Manager ed eseguire l'inferenza utilizzando modelli preaddestrati compilati utilizzando AI Neo. SageMaker Per ulteriori informazioni sull'agente SageMaker AI Edge Manager, consulta [SageMaker AI Edge Manager](https://docs.aws.amazon.com/sagemaker/latest/dg/edge.html) nella *Amazon SageMaker AI Developer Guide*.

Per configurare e utilizzare l'agente SageMaker AI Edge Manager su un dispositivo principale Greengrass esistente, AWS fornisce un codice di esempio che è possibile utilizzare per creare i seguenti componenti di inferenza e modello di esempio. 
+ **Classificazione delle immagini**
  +  `com.greengrass.SageMakerEdgeManager.ImageClassification` 
  +  `com.greengrass.SageMakerEdgeManager.ImageClassification.Model` 
+ **Rilevamento di oggetti**
  + `com.greengrass.SageMakerEdgeManager.ObjectDetection `
  + `com.greengrass.SageMakerEdgeManager.ObjectDetection.Model`

Questo tutorial mostra come distribuire i componenti di esempio e l'agente SageMaker AI Edge Manager.

**Topics**
+ [Prerequisiti](#edge-manager-getting-started-prereqs)
+ [Configura il tuo dispositivo principale Greengrass in SageMaker AI Edge Manager](#greengrass-edge-manager-set-up)
+ [Create i componenti di esempio](#create-sample-sme-ml-components)
+ [Esegui un'inferenza di classificazione delle immagini di esempio](#run-sample-sme-image-classification-inference)

## Prerequisiti
<a name="edge-manager-getting-started-prereqs"></a>

Per completare questo tutorial, devi soddisfare i seguenti prerequisiti:
+ <a name="sm-req-core-device"></a>Un dispositivo core Greengrass in esecuzione su Amazon Linux 2, una piattaforma Linux basata su Debian (x86\$164 o Armv8) o Windows (x86\$164). Se non lo hai, consultare [Tutorial: Guida introduttiva a AWS IoT Greengrass V2](getting-started.md).
+ <a name="sm-req-python"></a>[Python](https://www.python.org/downloads/) 3.6 o versione successiva, inclusa `pip` la tua versione di Python, installato sul tuo dispositivo principale.
+ L'API OpenGL GLX runtime `libgl1-mesa-glx` () installata sul dispositivo principale.
+ Un utente AWS Identity and Access Management (IAM) con autorizzazioni di amministratore.
+ Un computer di sviluppo simile a Windows, Mac o UNIX abilitato a Internet che soddisfa i seguenti requisiti:
  + [Python](https://www.python.org/downloads/) 3.6 o successivo installato.
  + AWS CLI installato e configurato con le credenziali utente dell'amministratore IAM. Per ulteriori informazioni, consulta [Installazione AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) e [configurazione](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) di. AWS CLI
+ I seguenti bucket S3 creati nello Regione AWS stesso Account AWS dispositivo principale Greengrass:
  + Un bucket S3 per archiviare gli artefatti inclusi nell'inferenza del campione e nei componenti del modello. Questo tutorial utilizza amzn-s3-demo-bucket1 per fare riferimento a questo bucket. 
  + Un bucket S3 che associ alla tua flotta di dispositivi AI Edge. SageMaker SageMaker AI Edge Manager richiede un bucket S3 per creare la flotta di dispositivi edge e per archiviare dati di esempio derivanti dall'esecuzione dell'inferenza sul dispositivo. Questo tutorial utilizza amzn-s3-demo-bucket2 per fare riferimento a questo bucket. 

  Per informazioni sulla creazione di bucket S3, consulta [Guida introduttiva ad Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html).
+ Il [ruolo del dispositivo Greengrass](device-service-role.md) è configurato con quanto segue: 
  + <a name="sm-req-iam-trust-relationship"></a>Una relazione di fiducia che consente `credentials.iot.amazonaws.com` e consente `sagemaker.amazonaws.com` di assumere il ruolo, come illustrato nel seguente esempio di policy IAM.

    ```
    { 
      "Version": "2012-10-17",		 	 	 
      "Statement": [ 
        { 
          "Effect": "Allow", 
          "Principal": {
            "Service": "credentials.iot.amazonaws.com"
           }, 
          "Action": "sts:AssumeRole" 
        },
        { 
          "Effect": "Allow", 
          "Principal": {
            "Service": "sagemaker.amazonaws.com"
          }, 
          "Action": "sts:AssumeRole" 
        } 
      ] 
    }
    ```
  + <a name="sm-req-iam-sagemanakeredgedevicefleetpolicy"></a>La politica gestita da [AmazonSageMakerEdgeDeviceFleetPolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AmazonSageMakerEdgeDeviceFleetPolicy)IAM.
  + La politica gestita da [AmazonSageMakerFullAccess](https://console.aws.amazon.com//iamv2/home?region=us-east-1#/policies/details/arn%3Aaws%3Aiam%3A%3Aaws%3Apolicy%2FAmazonSageMakerFullAccess?section=policy_permissions)IAM.
  + L'`s3:GetObject`azione per il bucket S3 che contiene gli artefatti dei componenti, come illustrato nel seguente esempio di policy IAM.

------
#### [ JSON ]

****  

    ```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
      {
        "Action": [
          "s3:GetObject"
        ],
        "Resource": [
          "arn:aws:s3:::amzn-s3-demo-bucket1/*"
        ],
        "Effect": "Allow"
      }
      ]
    }
    ```

------

## Configura il tuo dispositivo principale Greengrass in SageMaker AI Edge Manager
<a name="greengrass-edge-manager-set-up"></a>

Le flotte di dispositivi Edge in SageMaker AI Edge Manager sono raccolte di dispositivi raggruppati logicamente. Per utilizzare SageMaker AI Edge Manager con AWS IoT Greengrass, devi creare una flotta di dispositivi edge che utilizzi lo stesso alias di AWS IoT ruolo del dispositivo principale Greengrass su cui distribuisci SageMaker l'agente AI Edge Manager. Quindi, è necessario registrare il dispositivo principale come parte di quel parco dispositivi.

**Topics**
+ [Crea una flotta di dispositivi edge](#create-edge-device-fleet-for-greengrass)
+ [Registra il tuo dispositivo Greengrass core](#register-greengrass-core-device-in-sme)

### Crea una flotta di dispositivi edge
<a name="create-edge-device-fleet-for-greengrass"></a>

**Per creare una flotta di dispositivi edge (console)**

1. Nella [console Amazon SageMaker AI](https://console.aws.amazon.com/sagemaker), scegli **Edge Manager**, quindi scegli **flotte di dispositivi Edge**.

1. Nella pagina Flotte di **dispositivi, scegli Crea flotta** **di dispositivi**.

1. In **Proprietà del parco dispositivi**, procedi come segue:
   + Per **Nome parco dispositivi**, inserisci un nome per il tuo parco dispositivi.
   + Per il **ruolo IAM**, inserisci l'Amazon Resource Name (ARN) dell'alias del AWS IoT ruolo che hai specificato durante la configurazione del dispositivo principale Greengrass. 
   + Disattiva l'opzione **Crea alias del ruolo IAM**. 

1. Scegli **Next (Successivo)**.

1. In **Configurazione di output**, per l'**URI del bucket S3**, inserisci l'URI del bucket S3 che desideri associare al parco dispositivi.

1. Seleziona **Invia**.

### Registra il tuo dispositivo Greengrass core
<a name="register-greengrass-core-device-in-sme"></a>

**Per registrare il dispositivo Greengrass core come dispositivo edge (console)**

1. Nella [console Amazon SageMaker AI](https://console.aws.amazon.com/sagemaker), scegli **Edge Manager**, quindi scegli **Dispositivi Edge**.

1. Nella pagina **Dispositivi**, scegli **Registra dispositivi**.

1. In **Proprietà del dispositivo**, in **Nome parco dispositivi**, inserisci il nome del parco dispositivi che hai creato, quindi scegli **Avanti**.

1. Scegli **Next (Successivo)**.

1. In **Origine dispositivo**, in **Nome dispositivo**, inserisci il nome dell' AWS IoT oggetto del tuo dispositivo principale Greengrass.

1. Seleziona **Invia**.

## Create i componenti di esempio
<a name="create-sample-sme-ml-components"></a>

Per aiutarti a iniziare a utilizzare il componente SageMaker AI Edge Manager, AWS fornisce uno script Python GitHub che crea l'inferenza di esempio e i componenti del modello e li carica al posto tuo. Cloud AWS Completa i seguenti passaggi su un computer di sviluppo.

**Per creare i componenti di esempio**

1. Scarica l'archivio [degli esempi di AWS IoT Greengrass componenti](https://github.com/aws-greengrass/aws-greengrass-component-examples/) sul tuo computer GitHub di sviluppo. 

1. Vai alla `/machine-learning/sagemaker-edge-manager` cartella scaricata.

   ```
   cd download-directory/machine-learning/sagemaker-edge-manager
   ```

1. Eseguite il comando seguente per creare e caricare i componenti di esempio in Cloud AWS.

   ```
   python3 create_components.py -r region -b amzn-s3-demo-bucket
   ```

   Sostituisci *region* con il Regione AWS punto in cui hai creato il tuo dispositivo principale Greengrass e sostituisci amzn-s3-demo-bucket1 con il nome del bucket S3 per memorizzare gli artefatti dei componenti.
**Nota**  
Per impostazione predefinita, lo script crea componenti di esempio sia per la classificazione delle immagini che per l'inferenza del rilevamento degli oggetti. Per creare componenti solo per un tipo specifico di inferenza, specificate l'`-i ImageClassification | ObjectDetection`argomento.

I componenti di inferenza e modello di esempio da utilizzare con SageMaker AI Edge Manager sono ora creati nel tuo. Account AWS Per visualizzare i componenti di esempio nella [AWS IoT Greengrass console](https://console.aws.amazon.com/greengrass), scegli **Componenti**, quindi in **I miei componenti**, cerca i seguenti componenti:
+  `com.greengrass.SageMakerEdgeManager.ImageClassification` 
+  `com.greengrass.SageMakerEdgeManager.ImageClassification.Model` 
+ `com.greengrass.SageMakerEdgeManager.ObjectDetection `
+ `com.greengrass.SageMakerEdgeManager.ObjectDetection.Model`

## Esegui un'inferenza di classificazione delle immagini di esempio
<a name="run-sample-sme-image-classification-inference"></a>

Per eseguire l'inferenza sulla classificazione delle immagini utilizzando i componenti di esempio AWS forniti e l'agente SageMaker AI Edge Manager, è necessario distribuire questi componenti sul dispositivo principale. L'implementazione di questi componenti scarica un modello Resnet-50 pre-addestrato compilato da SageMaker AI NEO e installa l'agente AI Edge Manager sul dispositivo. SageMaker L'agente SageMaker AI Edge Manager carica il modello e pubblica i risultati dell'inferenza sull'argomento. `gg/sageMakerEdgeManager/image-classification` Per visualizzare questi risultati di inferenza, utilizza il client AWS IoT MQTT nella AWS IoT console per iscriverti a questo argomento. 

**Topics**
+ [Iscriviti all'argomento delle notifiche](#sme-image-classification-subscribe)
+ [Distribuite i componenti di esempio](#sme-image-classification-deploy)
+ [Visualizza i risultati dell'inferenza](#sme-image-classification-inference-results)

### Iscriviti all'argomento delle notifiche
<a name="sme-image-classification-subscribe"></a>

In questo passaggio, configurate il client AWS IoT MQTT nella AWS IoT console per guardare i messaggi MQTT pubblicati dal componente di inferenza di esempio. Per impostazione predefinita, il componente pubblica i risultati di inferenza sull'argomento. `gg/sageMakerEdgeManager/image-classification` Abbonati a questo argomento prima di distribuire il componente sul tuo dispositivo principale Greengrass per vedere i risultati dell'inferenza quando il componente viene eseguito per la prima volta. 



**Per sottoscrivere l'argomento delle notifiche predefinito**

1. Nel menu di navigazione della [AWS IoT console](https://console.aws.amazon.com/iot/), scegliete **Test, MQTT test client**.

1. In **Sottoscrivi a un argomento****, nella casella Nome argomento**, inserisci**gg/sageMakerEdgeManager/image-classification**.

1. Scegli **Abbonati**.

### Distribuite i componenti di esempio
<a name="sme-image-classification-deploy"></a>

In questo passaggio, configuri e distribuisci i seguenti componenti sul tuo dispositivo principale:
+  `aws.greengrass.SageMakerEdgeManager` 
+  `com.greengrass.SageMakerEdgeManager.ImageClassification` 
+  `com.greengrass.SageMakerEdgeManager.ImageClassification.Model` 

#### Per distribuire i componenti (console)
<a name="sme-image-classification-deploy-console"></a>

1. Nel menu di navigazione della [AWS IoT Greengrass console](https://console.aws.amazon.com/greengrass), scegli **Distribuzioni**, quindi scegli la distribuzione per il dispositivo di destinazione che desideri modificare.

1. **Nella pagina di distribuzione, scegli **Rivedi, quindi scegli Rivedi** distribuzione.**

1. **Nella pagina **Specificare la destinazione**, scegli Avanti.**

1. Nella pagina **Seleziona componenti**, procedi come segue: 

   1. In **I miei componenti**, seleziona i seguenti componenti:
      +  `com.greengrass.SageMakerEdgeManager.ImageClassification`
      + `com.greengrass.SageMakerEdgeManager.ImageClassification.Model` 

   1. In **Componenti pubblici**, disattiva l'opzione **Mostra solo i componenti selezionati**, quindi seleziona il `aws.greengrass.SageMakerEdgeManager` componente. 

   1. Scegli **Next (Successivo)**.

1. Nella pagina **Configura componenti**, selezionate il `aws.greengrass.SageMakerEdgeManager` componente ed effettuate le seguenti operazioni.

   1. Scegli **Configura componente**.

   1. In **Aggiornamento della configurazione**, in **Configurazione da unire**, inserisci la seguente configurazione.

      ```
      {
          "DeviceFleetName": "device-fleet-name",
          "BucketName": "amzn-s3-demo-bucket"
      }
      ```

      Sostituiscilo *device-fleet-name* con il nome del parco dispositivi edge che hai creato e sostituiscilo *amzn-s3-demo-bucket* con il nome del bucket S3 associato al tuo parco dispositivi.

   1. Seleziona **Conferma** e scegli **Avanti**.

1. Nella pagina **Configura impostazioni avanzate**, mantieni le impostazioni di configurazione predefinite e scegli **Avanti**.

1. **Nella pagina di **revisione**, scegli Deploy**

#### Per distribuire i componenti (AWS CLI)
<a name="sme-image-classification-deploy-cli"></a>

1. Sul tuo computer di sviluppo, crea un `deployment.json` file per definire la configurazione di distribuzione per i componenti di SageMaker AI Edge Manager. Questo file dovrebbe essere simile all'esempio seguente.

   ```
   {
     "targetArn":"targetArn",
     "components": {
       "aws.greengrass.SageMakerEdgeManager": {
         "componentVersion": "1.0.x",
         "configurationUpdate": {
           "merge": "{\"DeviceFleetName\":\"device-fleet-name\",\"BucketName\":\"amzn-s3-demo-bucket2\"}"
         }
       },
       "com.greengrass.SageMakerEdgeManager.ImageClassification": {
         "componentVersion": "1.0.x",
         "configurationUpdate": {
         }
       }, 
       "com.greengrass.SageMakerEdgeManager.ImageClassification.Model": {
         "componentVersion": "1.0.x",
         "configurationUpdate": {
         }
       }, 
     }
   }
   ```
   + Nel campo `targetArn`, sostituisci `targetArn` con il nome della risorsa Amazon (ARN) dell'oggetto o del gruppo di oggetti a cui destinare la distribuzione, nel seguente formato: 
     + Oggetto: `arn:aws:iot:region:account-id:thing/thingName`
     + Gruppo di oggetti: `arn:aws:iot:region:account-id:thinggroup/thingGroupName`
   + Nel `merge` campo, *device-fleet-name* sostituiscilo con il nome del parco dispositivi edge che hai creato. Quindi, sostituiscilo *amzn-s3-demo-bucket2* con il nome del bucket S3 associato al tuo parco dispositivi.
   + Sostituisci le versioni dei componenti di ogni componente con l'ultima versione disponibile.

1. Eseguire comando seguente per distribuire i componenti sul dispositivo:

   ```
   aws greengrassv2 create-deployment \
       --cli-input-json file://path/to/deployment.json
   ```

La distribuzione può richiedere alcuni minuti. Nella fase successiva, controlla il registro dei componenti per verificare che l’implementazione sia stata completata correttamente e per visualizzare i risultati dell'inferenza.

### Visualizza i risultati dell'inferenza
<a name="sme-image-classification-inference-results"></a>

Dopo aver distribuito i componenti, è possibile visualizzare i risultati dell'inferenza nel registro dei componenti sul dispositivo principale Greengrass e nel client AWS IoT MQTT nella console. AWS IoT Per sottoscrivere l'argomento in cui il componente pubblica i risultati dell'inferenza, vedere. [Iscriviti all'argomento delle notifiche](#sme-image-classification-subscribe)
+ **AWS IoT Client MQTT**: per visualizzare i risultati pubblicati dal componente di inferenza sull'[argomento delle notifiche predefinite](#sme-image-classification-subscribe), completate i seguenti passaggi:

  1. Nel menu di navigazione della [AWS IoT console](https://console.aws.amazon.com/iot/), scegliete **Test, MQTT test client**.

  1. In **Abbonamenti, scegli**. **gg/sageMakerEdgeManager/image-classification**

   
+ **Registro dei componenti**: per visualizzare i risultati dell'inferenza nel registro dei componenti, esegui il seguente comando sul tuo dispositivo principale Greengrass. 

  ```
  sudo tail -f /greengrass/v2/logs/com.greengrass.SageMakerEdgeManager.ImageClassification.log
  ```

Se non riesci a visualizzare i risultati dell'inferenza nel registro dei componenti o nel client MQTT, la distribuzione non è riuscita o non ha raggiunto il dispositivo principale. Ciò può verificarsi se il dispositivo principale non è connesso a Internet o non dispone delle autorizzazioni necessarie per eseguire il componente. Esegui il comando seguente sul tuo dispositivo principale per visualizzare il file di registro del software AWS IoT Greengrass Core. Questo file include i log del servizio di distribuzione del dispositivo principale Greengrass.

```
sudo tail -f /greengrass/v2/logs/greengrass.log
```

Per ulteriori informazioni, consulta [Risoluzione dei problemi relativi all'inferenza dell'apprendimento automatico](ml-troubleshooting.md).