

Aviso de fin de soporte: el 7 de octubre de 2026, AWS suspenderemos el soporte para AWS IoT Greengrass Version 1. Después del 7 de octubre de 2026, ya no podrá acceder a los AWS IoT Greengrass V1 recursos. Para obtener más información, visita [Migrar desde AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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.

# Opcional: Configuración del dispositivo para la cualificación ML
<a name="idt-ml-qualification"></a>

IDT for AWS IoT Greengrass ofrece pruebas de calificación de aprendizaje automático (ML) para validar que sus dispositivos pueden realizar inferencias de aprendizaje automático de forma local mediante modelos entrenados en la nube.

Para ejecutar pruebas de cualificación de ML, primero debe configurar los dispositivos como se describe en [Configuración de su dispositivo para ejecutar pruebas de IDT](device-config-setup.md). A continuación, siga los pasos de este tema para instalar dependencias para los marcos de ML que desea ejecutar.

Es necesario IDT v3.1.0 o posterior para realizar pruebas de cualificación de ML.

## Instalación de dependencias del marco de ML
<a name="ml-qualification-framework-dependencies"></a>

Todas las dependencias del marco de ML deben instalarse en el directorio `/usr/local/lib/python3.x/site-packages`. Para asegurarse de que están instalados en el directorio correcto, le recomendamos que utilice permisos raíz de `sudo` al instalar las dependencias. Los entornos virtuales no son compatibles con las pruebas de cualificación.

**nota**  
Si está probando funciones de Lambda que se ejecutan con la [creación de contenedores](lambda-group-config.md#lambda-containerization-considerations) (en modo **contenedor de Greengrass**), la creación de enlaces simbólicos para las bibliotecas Python en `/usr/local/lib/python3.x` no se admite. Para evitar errores, debe instalar las dependencias en el directorio correcto.

Siga los pasos para instalar las dependencias para su marco de destino:
+ [Instalar dependencias de MXNet](#ml-qualification-mxnet-dependencies)
+ [Instale TensorFlow las dependencias](#ml-qualification-tensorflow-dependencies)
+ [Instalar dependencias DLR](#ml-qualification-dlr-dependencies)

 

## Instalar dependencias de Apache MXNet
<a name="ml-qualification-mxnet-dependencies"></a>

<a name="test-framework-dependencies"></a>Las pruebas de cualificación IDT para este marco tienen las siguientes dependencias:
+ <a name="ml-qualification-python-req"></a>Python 3.6 o Python 3.7.
**nota**  <a name="python-symlink-command"></a>
Si está utilizando Python 3.6, debe crear un enlace simbólico desde binarios de Python 3.7 a Python 3.6. Esto configura su dispositivo para que cumpla con el requisito de Python para AWS IoT Greengrass. Por ejemplo:  

  ```
  sudo ln -s {{path-to-python-3.6}}/python3.6 {{path-to-python-3.7}}/python3.7
  ```
+ Apache MXNet v1.2.1 o posterior.
+ NumPy. La versión debe ser compatible con su versión de MXNet.

### Instalación de MXNet
<a name="ml-qualification-mxnet-install"></a>

Siga las instrucciones de la documentación de MXNet para [instalar MXNet](https://mxnet.apache.org/get_started/?platform=linux&language=python&processor=cpu&environ=pip&).

**nota**  
<a name="run-python3-commands"></a>Si en el dispositivo están instalados Python 2.x y Python 3.x, use Python 3.x en los comandos que ejecute para instalar las dependencias.

### Validación de la instalación de MXNet
<a name="ml-qualification-mxnet-validate"></a>

Elija una de las siguientes opciones para validar la instalación de MXNet.

#### Opción 1: SSH en su dispositivo y ejecutar scripts
<a name="ml-qualification-validate-mxnet-option-1"></a>

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

1. <a name="ssh-validate-framework-install-run-scripts"></a>Ejecute los siguientes scripts para comprobar que las dependencias están instaladas correctamente.

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

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

   <a name="ssh-passed-mldependencies"></a>El resultado imprime el número de versión y el script debe salir sin errores.

#### Opción 2: Ejecutar la prueba de dependencia IDT
<a name="ml-qualification-validate-mxnet-option-2"></a>

1. <a name="idt-validate-framework-install-check-config"></a>Asegúrese de que `device.json` esté configurado para la cualificación de ML. Para obtener más información, consulte [Configurar device.json para cualificación de ML](set-config.md#device-json-ml-qualification).

1. <a name="idt-validate-framework-install-run-test"></a>Ejecute la prueba de dependencias para el marco.

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

   <a name="idt-passed-mldependencies"></a>El resumen de la prueba muestra un resultado `PASSED` para `mldependencies`.

 

## Instale TensorFlow las dependencias
<a name="ml-qualification-tensorflow-dependencies"></a>

<a name="test-framework-dependencies"></a>Las pruebas de cualificación IDT para este marco tienen las siguientes dependencias:
+ <a name="ml-qualification-python-req"></a>Python 3.6 o Python 3.7.
**nota**  <a name="python-symlink-command"></a>
Si está utilizando Python 3.6, debe crear un enlace simbólico desde binarios de Python 3.7 a Python 3.6. Esto configura su dispositivo para que cumpla con el requisito de Python para AWS IoT Greengrass. Por ejemplo:  

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

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

Siga las instrucciones de la TensorFlow documentación para instalar TensorFlow 1.x [con pip](https://www.tensorflow.org/install/pip) o [desde](https://www.tensorflow.org/install/source) el código fuente.

**nota**  
<a name="run-python3-commands"></a>Si en el dispositivo están instalados Python 2.x y Python 3.x, use Python 3.x en los comandos que ejecute para instalar las dependencias.

### Validar la instalación TensorFlow
<a name="ml-qualification-tensorflow-validate"></a>

Elija una de las siguientes opciones para validar la TensorFlow instalación.

#### Opción 1: SSH en su dispositivo y ejecutar un script
<a name="ml-qualification-validate-tensorflow-option-1"></a>

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

1. Ejecute el siguiente script para comprobar que la dependencia está instalada correctamente.

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

   <a name="ssh-passed-mldependencies"></a>El resultado imprime el número de versión y el script debe salir sin errores.

#### Opción 2: Ejecutar la prueba de dependencia IDT
<a name="ml-qualification-validate-tensorflow-option-2"></a>

1. <a name="idt-validate-framework-install-check-config"></a>Asegúrese de que `device.json` esté configurado para la cualificación de ML. Para obtener más información, consulte [Configurar device.json para cualificación de ML](set-config.md#device-json-ml-qualification).

1. <a name="idt-validate-framework-install-run-test"></a>Ejecute la prueba de dependencias para el marco.

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

   <a name="idt-passed-mldependencies"></a>El resumen de la prueba muestra un resultado `PASSED` para `mldependencies`.

 

## Instalación de las dependencias de Amazon SageMaker AI Neo Deep Learning Runtime (DLR)
<a name="ml-qualification-dlr-dependencies"></a>

<a name="test-framework-dependencies"></a>Las pruebas de cualificación IDT para este marco tienen las siguientes dependencias:
+ <a name="ml-qualification-python-req"></a>Python 3.6 o Python 3.7.
**nota**  <a name="python-symlink-command"></a>
Si está utilizando Python 3.6, debe crear un enlace simbólico desde binarios de Python 3.7 a Python 3.6. Esto configura su dispositivo para que cumpla con el requisito de Python para AWS IoT Greengrass. Por ejemplo:  

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

Después de instalar las dependencias de prueba DLR, debe [compilar el modelo](#ml-qualification-dlr-compile-model).

### Instalación de DLR
<a name="ml-qualification-dlr-install"></a>

Siga las instrucciones de la documentación de DLR para [instalar el DLR Neo](https://neo-ai-dlr.readthedocs.io/en/latest/install.html#building-on-linux).

**nota**  
<a name="run-python3-commands"></a>Si en el dispositivo están instalados Python 2.x y Python 3.x, use Python 3.x en los comandos que ejecute para instalar las dependencias.

### Validación de la instalación de DLR
<a name="ml-qualification-dlr-validate"></a>

Elija una de las siguientes opciones para validar la instalación de DLR.

#### Opción 1: SSH en su dispositivo y ejecutar scripts
<a name="ml-qualification-validate-dlr-option-1"></a>

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

1. <a name="ssh-validate-framework-install-run-scripts"></a>Ejecute los siguientes scripts para comprobar que las dependencias están instaladas correctamente.

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

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

   <a name="ssh-passed-mldependencies"></a>El resultado imprime el número de versión y el script debe salir sin errores.

#### Opción 2: Ejecutar la prueba de dependencia IDT
<a name="ml-qualification-validate-dlr-option-2"></a>

1. <a name="idt-validate-framework-install-check-config"></a>Asegúrese de que `device.json` esté configurado para la cualificación de ML. Para obtener más información, consulte [Configurar device.json para cualificación de ML](set-config.md#device-json-ml-qualification).

1. <a name="idt-validate-framework-install-run-test"></a>Ejecute la prueba de dependencias para el marco.

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

   <a name="idt-passed-mldependencies"></a>El resumen de la prueba muestra un resultado `PASSED` para `mldependencies`.

## Compilar el modelo DLR
<a name="ml-qualification-dlr-compile-model"></a>

Debe compilar el modelo DLR antes de poder usarlo para pruebas de cualificación de ML. Para los pasos, elija una de las siguientes opciones.

### Opción 1: usar Amazon SageMaker AI para compilar el modelo
<a name="ml-qualification-compile-dlr-option-1"></a>

Siga estos pasos para usar la SageMaker IA para compilar el modelo de aprendizaje automático proporcionado por IDT. Este modelo está entrenado previamente con Apache MXNet.

1. Compruebe que su tipo de dispositivo sea compatible con SageMaker AI. Para obtener más información, consulta las [opciones del dispositivo de destino](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OutputConfig.html#sagemaker-Type-OutputConfig-TargetDevice) en la *referencia de la API de Amazon SageMaker AI*. Si tu tipo de dispositivo no es compatible actualmente con la SageMaker IA, sigue los pasos que se indican[Opción 2: Utilice TVM para compilar el modelo DLR](#ml-qualification-compile-dlr-option-2).
**nota**  
La ejecución de la prueba de DLR con un modelo compilado por la SageMaker IA puede tardar entre 4 y 5 minutos. No detenga IDT durante este tiempo.

1. <a name="compile-dlr-download-uncompiled-model"></a>Descargue el archivo tarball que contiene el modelo MXNet no compilado y entrenado previamente para 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>Descomprima el tarball. Este comando genera la siguiente estructura de directorios.  
![El directorio resnet18 contiene tres archivos.](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-uncompiled.png)

1. Saque `synset.txt` del directorio `resnet18`. Anote la nueva ubicación. Copie este archivo en el directorio del modelo compilado más adelante.

1. Comprima el contenido del directorio `resnet18`.

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

1. Suba el archivo comprimido a un bucket de Amazon S3 de su cuenta y Cuenta de AWS, a continuación, siga los pasos de [Compilar un modelo (consola)](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-job-compilation-console.html) para crear un trabajo de compilación.

   1. En **Configuración de entrada**, utilice los siguientes valores:
      + En **Configuración de entrada de datos**, escriba `{"data": [1, 3, 224, 224]}`.
      + En **Marco de machine learning**, elija `MXNet`.

   1. En **Configuración de salida**, utilice los siguientes valores:
      + En **Ubicación de salida de S3**, escriba la ruta de acceso al bucket de Amazon S3 o carpeta donde desea almacenar el modelo compilado.
      + En **Dispositivo de destino**, elija el tipo de dispositivo.

1. Descargue el modelo compilado desde la ubicación de salida especificada y, a continuación, descomprima el archivo.

1. Copie `synset.txt` en el directorio del modelo compilado.

1. Cambie el nombre del directorio del modelo compilado a `resnet18`.

   El directorio del modelo compilado debe tener la siguiente estructura de directorios.  
![El directorio del modelo compilado resnet18 contiene cuatro archivos.](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-compiled-sm.png)

### Opción 2: Utilice TVM para compilar el modelo DLR
<a name="ml-qualification-compile-dlr-option-2"></a>

Siga estos pasos para utilizar TVM para compilar el modelo de ML proporcionado por IDT. Este modelo está entrenado previamente con Apache MXNet, por lo que debe instalar MXNet en el equipo o dispositivo donde se compila el modelo. Para instalar MXNet, siga las instrucciones de la [documentación de MXNet](https://mxnet.apache.org/get_started/?platform=linux&language=python&processor=cpu&environ=pip&).

**nota**  
Le recomendamos que compile el modelo en el dispositivo de destino. Esta práctica es opcional, pero puede ayudar a garantizar la compatibilidad y mitigar posibles problemas.

 

1. <a name="compile-dlr-download-uncompiled-model"></a>Descargue el archivo tarball que contiene el modelo MXNet no compilado y entrenado previamente para 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>Descomprima el tarball. Este comando genera la siguiente estructura de directorios.  
![El directorio resnet18 contiene tres archivos.](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-uncompiled.png)

1. Siga las instrucciones de la documentación de TVM para [compilar e instalar TVM desde el origen para su plataforma](https://docs.tvm.ai/install/from_source.html).

1. Una vez compilado TVM, ejecute la compilación TVM para el modelo resnet18. Los siguientes pasos se basan en la [explicación de inicio rápido para compilar modelos de aprendizaje profundo](https://tvm.apache.org/docs/tutorial/relay_quick_start.html#sphx-glr-tutorials-get-started-relay-quick-start-py) en la documentación de TVM.

   1. Abra el archivo `relay_quick_start.py` desde el repositorio de TVM clonado.

   1. Actualice el código que [define una red neuronal en relé](https://tvm.apache.org/docs/tutorial/relay_quick_start.html#define-neural-network-in-relay). Puede utilizar una de las siguientes opciones:
      + Opción 1: Utilice `mxnet.gluon.model_zoo.vision.get_model` para obtener el módulo de relé y los parámetros:

        ```
        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})
        ```
      + Opción 2: Desde el modelo no compilado que descargó en el paso 1, copie los siguientes archivos en el mismo directorio que el archivo `relay_quick_start.py`. Estos archivos contienen el módulo de relé y los parámetros.
        + `resnet18v1-symbol.json`
        + `resnet18v1-0000.params`

   1. Actualice el código que [guarda y carga el módulo compilado](https://tvm.apache.org/docs/tutorial/relay_quick_start.html#save-and-load-compiled-module) para utilizar el siguiente código.

      ```
      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. Compile el modelo:

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

      Este comando genera los archivos siguientes.
      + `deploy_graph.json`
      + `deploy_lib.so`
      + `deploy_param.params`

1. Copie los archivos de modelo generados en un directorio denominado `resnet18`. Este es su directorio de modelo compilado.

1. Copie el directorio del modelo compilado en el equipo host. A continuación, copie `synset.txt` del modelo sin compilar que descargó en el paso 1 en el directorio del modelo compilado.

   El directorio del modelo compilado debe tener la siguiente estructura de directorios.  
![El directorio del modelo compilado resnet18 contiene cuatro archivos.](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-compiled-tvm.png)

A continuación, [configure AWS las credenciales y `device.json` el archivo](set-config.md).