

Avviso di fine del supporto: il 7 ottobre 2026, AWS il supporto per. AWS IoT Greengrass Version 1 Dopo il 7 ottobre 2026, non potrai più accedere alle risorse. AWS IoT Greengrass V1 Per ulteriori informazioni, visita [Migrate](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html) from. AWS IoT Greengrass Version 1

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

# Facoltativo: configurazione del dispositivo per la qualificazione di ML
<a name="idt-ml-qualification"></a>

IDT for AWS IoT Greengrass fornisce test di qualificazione dell'apprendimento automatico (ML) per verificare che i tuoi dispositivi siano in grado di eseguire l'inferenza ML localmente utilizzando modelli addestrati sul cloud.

Per eseguire i test di qualificazione di ML, è necessario innanzitutto configurare i dispositivi come descritto in [Configura il tuo dispositivo per eseguire test IDT](device-config-setup.md). Seguire quindi la procedura descritta in questo argomento per installare le dipendenze per i framework ML che si desidera eseguire.

IDT v3.1.0 o versione successiva è necessario per eseguire i test per la qualificazione di ML.

## Installazione delle dipendenze del framework ML
<a name="ml-qualification-framework-dependencies"></a>

Tutte le dipendenze framework ML devono essere installate nella directory `/usr/local/lib/python3.x/site-packages`. Per assicurarsi che siano installate nella directory corretta, si consiglia di utilizzare le autorizzazioni root `sudo` durante l'installazione delle dipendenze. Gli ambienti virtuali non sono supportati per i test di qualificazione.

**Nota**  
Se stai testando funzioni Lambda che vengono eseguite con la [containerizzazione (](lambda-group-config.md#lambda-containerization-considerations)in modalità **contenitore Greengrass**), la creazione di collegamenti simbolici per le librerie Python sotto non è supportata. `/usr/local/lib/python3.x` Per evitare errori, è necessario installare le dipendenze nella directory corretta.

Seguire i passaggi per installare le dipendenze per il framework di destinazione:
+ [Installare le dipendenze di MXNet](#ml-qualification-mxnet-dependencies)
+ [Installa TensorFlow le dipendenze](#ml-qualification-tensorflow-dependencies)
+ [Installare le dipendenze di DLR](#ml-qualification-dlr-dependencies)

 

## Installare le dipendenze di Apache MXNet
<a name="ml-qualification-mxnet-dependencies"></a>

<a name="test-framework-dependencies"></a>I test di qualificazione IDT per questo framework hanno le seguenti dipendenze:
+ <a name="ml-qualification-python-req"></a>Python 3.6 o Python 3.7.
**Nota**  <a name="python-symlink-command"></a>
Se si sta usando Python 3.6, occorre creare un collegamento simbolico dai dati binari di Python 3.7 a Python 3.6. Questo configura il dispositivo in modo che soddisfi il requisito Python per AWS IoT Greengrass. Esempio:  

  ```
  sudo ln -s {{path-to-python-3.6}}/python3.6 {{path-to-python-3.7}}/python3.7
  ```
+ Apache MxNet v1.2.1 o versione successiva.
+ NumPy. La versione deve essere compatibile con la versione MXNet in uso.

### Installazione di MXNet
<a name="ml-qualification-mxnet-install"></a>

Seguire le istruzioni contenute nella documentazione di MxNet per [installare MxNet](https://mxnet.apache.org/get_started/?platform=linux&language=python&processor=cpu&environ=pip&).

**Nota**  
<a name="run-python3-commands"></a>Se Python 2.x e Python 3.x sono entrambi installati sul dispositivo, utilizzare Python 3.x nei comandi eseguiti per installare le dipendenze.

### Convalida dell'installazione di MXNet
<a name="ml-qualification-mxnet-validate"></a>

Scegliere una delle seguenti opzioni per convalidare l'installazione di MXNet.

#### Opzione 1: usare il protocollo SSH nel dispositivo ed eseguire gli script
<a name="ml-qualification-validate-mxnet-option-1"></a>

1. <a name="ssh-validate-framework-install-ssh"></a>SSH nel tuo dispositivo.

1. <a name="ssh-validate-framework-install-run-scripts"></a>Eseguire gli script seguenti per verificare che le dipendenze siano installate correttamente.

   ```
   sudo python3.7 -c "import mxnet; print(mxnet.__version__)"
   ```

   ```
   sudo python3.7 -c "import numpy; print(numpy.__version__)"
   ```

   <a name="ssh-passed-mldependencies"></a>L'output stampa il numero di versione e lo script dovrebbe essere privo di errori.

#### Opzione 2: eseguire il test di dipendenza IDT
<a name="ml-qualification-validate-mxnet-option-2"></a>

1. <a name="idt-validate-framework-install-check-config"></a>Assicurarsi che `device.json` sia configurato per la qualificazione ML. Per ulteriori informazioni, consulta [Configurare device.json per la qualificazione ML](set-config.md#device-json-ml-qualification).

1. <a name="idt-validate-framework-install-run-test"></a>Eseguire il test delle dipendenze per il framework.

   ```
   devicetester_{{[linux | mac | win_x86-64]}} run-suite --group-id mldependencies --test-id mxnet_dependency_check
   ```

   <a name="idt-passed-mldependencies"></a>Il riepilogo del test visualizza un risultato `PASSED` per `mldependencies`.

 

## Installa TensorFlow le dipendenze
<a name="ml-qualification-tensorflow-dependencies"></a>

<a name="test-framework-dependencies"></a>I test di qualificazione IDT per questo framework hanno le seguenti dipendenze:
+ <a name="ml-qualification-python-req"></a>Python 3.6 o Python 3.7.
**Nota**  <a name="python-symlink-command"></a>
Se si sta usando Python 3.6, occorre creare un collegamento simbolico dai dati binari di Python 3.7 a Python 3.6. Questo configura il dispositivo in modo che soddisfi il requisito Python per AWS IoT Greengrass. Esempio:  

  ```
  sudo ln -s {{path-to-python-3.6}}/python3.6 {{path-to-python-3.7}}/python3.7
  ```
+ TensorFlow 1.x.

### Installazione TensorFlow
<a name="ml-qualification-tensorflow-install"></a>

Segui le istruzioni nella TensorFlow documentazione per installare TensorFlow 1.x [con pip](https://www.tensorflow.org/install/pip) o [dal](https://www.tensorflow.org/install/source) codice sorgente.

**Nota**  
<a name="run-python3-commands"></a>Se Python 2.x e Python 3.x sono entrambi installati sul dispositivo, utilizzare Python 3.x nei comandi eseguiti per installare le dipendenze.

### Convalida dell'installazione TensorFlow
<a name="ml-qualification-tensorflow-validate"></a>

Scegli una delle seguenti opzioni per convalidare l' TensorFlow installazione.

#### Opzione 1: usare il protocollo SSH nel dispositivo ed eseguire uno script
<a name="ml-qualification-validate-tensorflow-option-1"></a>

1. <a name="ssh-validate-framework-install-ssh"></a>SSH nel tuo dispositivo.

1. Eseguire lo script seguente per verificare che la dipendenza sia installata correttamente.

   ```
   sudo python3.7 -c "import tensorflow; print(tensorflow.__version__)"
   ```

   <a name="ssh-passed-mldependencies"></a>L'output stampa il numero di versione e lo script dovrebbe essere privo di errori.

#### Opzione 2: eseguire il test di dipendenza IDT
<a name="ml-qualification-validate-tensorflow-option-2"></a>

1. <a name="idt-validate-framework-install-check-config"></a>Assicurarsi che `device.json` sia configurato per la qualificazione ML. Per ulteriori informazioni, consulta [Configurare device.json per la qualificazione ML](set-config.md#device-json-ml-qualification).

1. <a name="idt-validate-framework-install-run-test"></a>Eseguire il test delle dipendenze per il framework.

   ```
   devicetester_{{[linux | mac | win_x86-64]}} run-suite --group-id mldependencies --test-id tensorflow_dependency_check
   ```

   <a name="idt-passed-mldependencies"></a>Il riepilogo del test visualizza un risultato `PASSED` per `mldependencies`.

 

## Installa le dipendenze di Amazon SageMaker AI Neo Deep Learning Runtime (DLR)
<a name="ml-qualification-dlr-dependencies"></a>

<a name="test-framework-dependencies"></a>I test di qualificazione IDT per questo framework hanno le seguenti dipendenze:
+ <a name="ml-qualification-python-req"></a>Python 3.6 o Python 3.7.
**Nota**  <a name="python-symlink-command"></a>
Se si sta usando Python 3.6, occorre creare un collegamento simbolico dai dati binari di Python 3.7 a Python 3.6. Questo configura il dispositivo in modo che soddisfi il requisito Python per AWS IoT Greengrass. Esempio:  

  ```
  sudo ln -s {{path-to-python-3.6}}/python3.6 {{path-to-python-3.7}}/python3.7
  ```
+ SageMaker AI Neo DLR.
+ numpy.

Dopo aver installato le dipendenze di test DLR, è necessario [compilare il modello](#ml-qualification-dlr-compile-model).

### Installazione di DLR
<a name="ml-qualification-dlr-install"></a>

Seguire le istruzioni contenute nella documentazione di DLR per [installare Neo DLR](https://neo-ai-dlr.readthedocs.io/en/latest/install.html#building-on-linux).

**Nota**  
<a name="run-python3-commands"></a>Se Python 2.x e Python 3.x sono entrambi installati sul dispositivo, utilizzare Python 3.x nei comandi eseguiti per installare le dipendenze.

### Convalida dell'installazione di DLR
<a name="ml-qualification-dlr-validate"></a>

Scegliere una delle seguenti opzioni per convalidare l'installazione di DLR.

#### Opzione 1: usare il protocollo SSH nel dispositivo ed eseguire gli script
<a name="ml-qualification-validate-dlr-option-1"></a>

1. <a name="ssh-validate-framework-install-ssh"></a>SSH nel tuo dispositivo.

1. <a name="ssh-validate-framework-install-run-scripts"></a>Eseguire gli script seguenti per verificare che le dipendenze siano installate correttamente.

   ```
   sudo python3.7 -c "import dlr; print(dlr.__version__)"
   ```

   ```
   sudo python3.7 -c "import numpy; print(numpy.__version__)"
   ```

   <a name="ssh-passed-mldependencies"></a>L'output stampa il numero di versione e lo script dovrebbe essere privo di errori.

#### Opzione 2: eseguire il test di dipendenza IDT
<a name="ml-qualification-validate-dlr-option-2"></a>

1. <a name="idt-validate-framework-install-check-config"></a>Assicurarsi che `device.json` sia configurato per la qualificazione ML. Per ulteriori informazioni, consulta [Configurare device.json per la qualificazione ML](set-config.md#device-json-ml-qualification).

1. <a name="idt-validate-framework-install-run-test"></a>Eseguire il test delle dipendenze per il framework.

   ```
   devicetester_{{[linux | mac | win_x86-64]}} run-suite --group-id mldependencies --test-id dlr_dependency_check
   ```

   <a name="idt-passed-mldependencies"></a>Il riepilogo del test visualizza un risultato `PASSED` per `mldependencies`.

## Compilare il modello DLR
<a name="ml-qualification-dlr-compile-model"></a>

È necessario compilare il modello DLR prima di poterlo utilizzare per i test di qualificazione di ML. Per i passaggi, scegliere una delle seguenti opzioni:

### Opzione 1: usa Amazon SageMaker AI per compilare il modello
<a name="ml-qualification-compile-dlr-option-1"></a>

Segui questi passaggi per utilizzare l' SageMaker intelligenza artificiale per compilare il modello ML fornito da IDT. Questo modello è preaddestrato con Apache MXNet.

1. Verifica che il tipo di dispositivo sia supportato dall' SageMaker IA. Per ulteriori informazioni, consulta le [opzioni del dispositivo di destinazione](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OutputConfig.html#sagemaker-Type-OutputConfig-TargetDevice) nell'*Amazon SageMaker AI API Reference*. Se il tuo tipo di dispositivo non è attualmente supportato dall' SageMaker IA, segui i passaggi indicati[Opzione 2: utilizzare TVM per compilare il modello DLR](#ml-qualification-compile-dlr-option-2).
**Nota**  
L'esecuzione del test DLR con un modello compilato dall' SageMaker IA potrebbe richiedere 4 o 5 minuti. Non arrestare IDT durante questo periodo.

1. <a name="compile-dlr-download-uncompiled-model"></a>Scaricare il file tarball che contiene il modello MXNet non compilato e preaddestrato per DLR:
   + [dlr-noncompiled-model-1.0.tar.gz](https://docs.aws.amazon.com/greengrass/latest/developerguide/download-dlr-noncompiled-model-1.0.html)

1. <a name="compile-dlr-decompress-uncompiled-model"></a>Decomprimere il tarball. Questo comando genera la seguente struttura di directory.  
![La directory resnet18 contiene tre file.](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-uncompiled.png)

1. Spostare `synset.txt` fuori dalla directory `resnet18`. Prendere nota del nuovo percorso. Copiare questo file nella directory del modello compilato in un secondo momento.

1. Comprimere il contenuto della directory `resnet18`.

   ```
   tar cvfz model.tar.gz resnet18v1-symbol.json resnet18v1-0000.params
   ```

1. Carica il file compresso in un bucket Amazon S3 nel Account AWS tuo, quindi segui i passaggi [in Compila un modello (console) per creare un processo di compilazione](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-job-compilation-console.html).

   1. Per **Input configuration (Configurazione di input)**, utilizzare i seguenti valori:
      + Per **Data input configuration (Configurazione di input dati)**, immettere `{"data": [1, 3, 224, 224]}`.
      + Per **Machine learning framework (Framework di machine learning)**, selezionare `MXNet`.

   1. Per **Output configuration (Configurazione di output)**, utilizzare i seguenti valori:
      + Per la **posizione di uscita S3**, inserisci il percorso del bucket o della cartella Amazon S3 in cui desideri archiviare il modello compilato.
      + Per **Target device (Dispositivo di destinazione)**, scegliere il tipo di dispositivo.

1. Scaricare il modello compilato dal percorso di output specificato, quindi decomprimere il file.

1. Copiare `synset.txt` nella directory del modello compilato.

1. Modificare il nome della directory del modello compilato in `resnet18`.

   La directory del modello compilato deve avere la seguente struttura della directory.  
![La directory del modello compilato resnet18 contiene quattro file.](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-compiled-sm.png)

### Opzione 2: utilizzare TVM per compilare il modello DLR
<a name="ml-qualification-compile-dlr-option-2"></a>

Seguire questi passaggi per utilizzare TVM per compilare il modello di ML fornito da IDT. Questo modello è preaddestrato con Apache MXNet, quindi è necessario installare MXNet sul computer o dispositivo in cui si compila il modello. Per installare MxNet, seguire le istruzioni contenute nella [documentazione di MxNet](https://mxnet.apache.org/get_started/?platform=linux&language=python&processor=cpu&environ=pip&).

**Nota**  
Si consiglia di compilare il modello sul dispositivo di destinazione. Questa pratica è facoltativa, ma può contribuire a garantire la compatibilità e a ridurre i potenziali problemi.

 

1. <a name="compile-dlr-download-uncompiled-model"></a>Scaricare il file tarball che contiene il modello MXNet non compilato e preaddestrato per DLR:
   + [dlr-noncompiled-model-1.0.tar.gz](https://docs.aws.amazon.com/greengrass/latest/developerguide/download-dlr-noncompiled-model-1.0.html)

1. <a name="compile-dlr-decompress-uncompiled-model"></a>Decomprimere il tarball. Questo comando genera la seguente struttura di directory.  
![La directory resnet18 contiene tre file.](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-uncompiled.png)

1. Seguire le istruzioni contenute nella documentazione di TVM per [creare e installare TVM dal sorgente per la piattaforma](https://docs.tvm.ai/install/from_source.html).

1. Dopo aver creato TVM, eseguire la compilazione di TVM per il modello resnet18. I seguenti passaggi sono basati sul [Tutorial di avvio rapido per la compilazione di modelli di deep learning](https://tvm.apache.org/docs/tutorial/relay_quick_start.html#sphx-glr-tutorials-get-started-relay-quick-start-py) contenuto nella documentazione di TVM.

   1. Aprire il file `relay_quick_start.py` dal repository di TVM clonato.

   1. Aggiornare il codice che [definisce una rete neurale in relay](https://tvm.apache.org/docs/tutorial/relay_quick_start.html#define-neural-network-in-relay). È possibile utilizzare una delle seguenti opzioni:
      + Opzione 1: utilizzare `mxnet.gluon.model_zoo.vision.get_model` per ottenere il modulo relay e i parametri:

        ```
        from mxnet.gluon.model_zoo.vision import get_model
        block = get_model('resnet18_v1', pretrained=True)
        mod, params = relay.frontend.from_mxnet(block, {"data": data_shape})
        ```
      + Opzione 2: dal modello non compilato scaricato al passaggio 1, copiare i seguenti file nella stessa directory del file `relay_quick_start.py`. Questi file contengono il modulo relay e i parametri.
        + `resnet18v1-symbol.json`
        + `resnet18v1-0000.params`

   1. Aggiornare il codice che [salva e carica il modulo compilato](https://tvm.apache.org/docs/tutorial/relay_quick_start.html#save-and-load-compiled-module) per utilizzare il codice seguente.

      ```
      from tvm.contrib import util
      path_lib = "deploy_lib.so"
      #  Export the model library based on your device architecture
      lib.export_library("deploy_lib.so", cc="aarch64-linux-gnu-g++")
      with open("deploy_graph.json", "w") as fo:
          fo.write(graph)
      with open("deploy_param.params", "wb") as fo:
          fo.write(relay.save_param_dict(params))
      ```

   1. Costruire il modello:

      ```
      python3 tutorials/relay_quick_start.py --build-dir ./model
      ```

      Questo comando genera i seguenti file.
      + `deploy_graph.json`
      + `deploy_lib.so`
      + `deploy_param.params`

1. Copiare i file del modello generati in una directory denominata `resnet18`. Questa è la directory del modello compilato.

1. Copiare la directory del modello compilato nel computer host. Copiare quindi `synset.txt` dal modello non compilato scaricato nel passaggio 1 nella directory del modello compilato.

   La directory del modello compilato deve avere la seguente struttura della directory.  
![La directory del modello compilato resnet18 contiene quattro file.](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-compiled-tvm.png)

Successivamente, [configura le AWS credenziali e il file](set-config.md). `device.json`