

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.

# TensorFlow Clasificación de imágenes Lite
<a name="tensorflow-lite-image-classification-component"></a>

El componente de clasificación de imágenes de TensorFlow Lite (`aws.greengrass.TensorFlowLiteImageClassification`) contiene un ejemplo de código de inferencia para realizar inferencias de clasificación de imágenes mediante el tiempo de ejecución de [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) y un ejemplo de modelo cuantificado MobileNet 1.0 previamente entrenado. Este componente utiliza la variante [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) y los [TensorFlow Tiempo de ejecución Lite](tensorflow-lite-component.md) componentes como dependencias para descargar el motor de ejecución de TensorFlow Lite y el modelo de muestra.

Para usar este componente de inferencia con un modelo TensorFlow Lite personalizado, [cree una versión personalizada del componente de la tienda](ml-customization.md#override-public-model-store) de modelos dependiente. Para usar su propio código de inferencia personalizado, puede usar la receta de este componente como plantilla para [crear un componente de inferencia personalizado.](ml-customization.md#create-inference-component)

**Topics**
+ [Versiones](#tensorflow-lite-image-classification-component-versions)
+ [Tipo](#tensorflow-lite-image-classification-component-type)
+ [Sistema operativo](#tensorflow-lite-image-classification-component-os-support)
+ [Requisitos](#tensorflow-lite-image-classification-component-requirements)
+ [Dependencias](#tensorflow-lite-image-classification-component-dependencies)
+ [Configuración](#tensorflow-lite-image-classification-component-configuration)
+ [Archivo de registro local](#tensorflow-lite-image-classification-component-log-file)
+ [Registros de cambios](#tensorflow-lite-image-classification-component-changelog)

## Versiones
<a name="tensorflow-lite-image-classification-component-versions"></a>

Este componente tiene las siguientes versiones:
+ 2.1.x

## Tipo
<a name="tensorflow-lite-image-classification-component-type"></a>

<a name="public-component-type-generic"></a>Este <a name="public-component-type-generic-phrase"></a>componente es un componente genérico (`aws.greengrass.generic`). El [núcleo de Greengrass](greengrass-nucleus-component.md) ejecuta los scripts del ciclo de vida del componente.

<a name="public-component-type-more-information"></a>Para obtener más información, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operativo
<a name="tensorflow-lite-image-classification-component-os-support"></a>

Este componente se puede instalar en los dispositivos principales que ejecutan los siguientes sistemas operativos:
+ Linux
+ Windows

## Requisitos
<a name="tensorflow-lite-image-classification-component-requirements"></a>

Este componente tiene los siguientes requisitos:<a name="ml-component-requirements"></a>
+ En los dispositivos principales de Greengrass que ejecutan Amazon Linux 2 o Ubuntu 18.04, se instala en el dispositivo la versión 2.27 o posterior de la [Biblioteca C GNU](https://www.gnu.org/software/libc/) (glibc).
+ En los dispositivos ARMv7L, como Raspberry Pi, las dependencias para OpenCV-Python están instaladas en el dispositivo. Ejecute el siguiente comando para instalar las dependencias.

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Los dispositivos Raspberry Pi que ejecutan el sistema operativo Bullseye de Raspberry Pi deben cumplir los siguientes requisitos:
  + NumPy 1.22.4 o una versión posterior instalada en el dispositivo. El sistema operativo Bullseye de Raspberry Pi incluye una versión anterior de NumPy, por lo que puede ejecutar el siguiente comando para actualizar NumPy el dispositivo.

    ```
    pip3 install --upgrade numpy
    ```
  + La pila de cámara antigua habilitada en el dispositivo. El sistema operativo Bullseye de Raspberry Pi incluye una nueva pila de cámara que está habilitada de forma predeterminada y no es compatible, por lo que debe activar la pila de cámara antigua.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Cómo activar la pila de cámara antigua**

    1. Ejecute el siguiente comando para abrir la herramienta de configuración de Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Seleccione **Opciones de interfaz**.

    1. Seleccione **Cámara antigua** para activar la pila de cámara antigua.

    1. Reinicie el Raspberry Pi.

## Dependencias
<a name="tensorflow-lite-image-classification-component-dependencies"></a>

Al implementar un componente, AWS IoT Greengrass también despliega versiones compatibles de sus dependencias. Esto significa que debe cumplir los requisitos del componente y de todas sus dependencias para poder implementar el componente correctamente. En esta sección, se enumeran las dependencias de las [versiones publicadas](#tensorflow-lite-image-classification-component-changelog) de este componente y las restricciones de las versiones semánticas que definen las versiones de los componentes para cada dependencia. También puede ver las dependencias de cada versión del componente en la [consola de AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). En la página de detalles del componente, busque la lista de **Dependencias**.

------
#### [ 2.1.11 and 2.1.12 ]

En la siguiente tabla, se muestran las dependencias de las versiones 2.1.11 y 2.1.12 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Núcleo de Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexible | 
| [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.10 ]

En la siguiente tabla, se muestran las dependencias de la versión 2.1.10 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Núcleo de Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexible | 
| [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.9 ]

En la siguiente tabla, se muestran las dependencias de la versión 2.1.9 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Núcleo de Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexible | 
| [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.8 ]

En la siguiente tabla, se muestran las dependencias de la versión 2.1.8 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Núcleo de Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexible | 
| [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.7 ]

En la siguiente tabla, se muestran las dependencias de la versión 2.1.7 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Núcleo de Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexible | 
| [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.6 ]

En la siguiente tabla, se muestran las dependencias de la versión 2.1.6 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Núcleo de Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexible | 
| [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.5 ]

En la siguiente tabla, se muestran las dependencias de la versión 2.1.5 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Núcleo de Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexible | 
| [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.4 ]

En la siguiente tabla, se muestran las dependencias de la versión 2.1.4 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Núcleo de Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexible | 
| [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.3 ]

En la siguiente tabla, se muestran las dependencias de la versión 2.1.3 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Núcleo de Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexible | 
| [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.2 ]

En la siguiente tabla, se muestran las dependencias de la versión 2.1.2 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Núcleo de Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexible | 
| [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.1 ]

En la siguiente tabla, se muestran las dependencias de la versión 2.1.1 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Núcleo de Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexible | 
| [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.0 ]

En la siguiente tabla, se muestran las dependencias de la versión 2.1.0 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Núcleo de Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexible | 
| [TensorFlow Tienda de modelos de clasificación de imágenes Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------

## Configuración
<a name="tensorflow-lite-image-classification-component-configuration"></a>

Este componente ofrece los siguientes parámetros de configuración que puede personalizar cuando implemente el componente.

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(Opcional) El objeto que contiene la [política de autorización](interprocess-communication.md#ipc-authorization-policies) que permite al componente publicar mensajes en el tema de notificaciones predeterminado.   
Predeterminado:   

```
{
   "aws.greengrass.ipc.mqttproxy": {
      "aws.greengrass.TensorFlowLiteImageClassification:mqttproxy:1": {
         "policyDescription": "Allows access to publish via topic ml/tflite/image-classification.",
         "operations": [
            "aws.greengrass#PublishToIoTCore"
         ],
         "resources": [
            "ml/tflite/image-classification"
         ]
      }
   }
}
```

`PublishResultsOnTopic`  
<a name="ml-config-publishresultsontopic-desc"></a>(Opcional) El tema sobre el que desea publicar los resultados de la inferencia. Si modifica este valor, también debe modificar el valor del `resources` en el parámetro `accessControl` para que coincida con el nombre del tema personalizado.  
Valor predeterminado: `ml/tflite/image-classification`

`Accelerator`  <a name="ml-config-accelerator"></a>
El acelerador que desea usar. Los valores admitidos son `cpu` y `gpu`.  
Los modelos de ejemplo del componente del modelo dependiente solo admiten la aceleración de la CPU. Para usar la aceleración de la GPU con un modelo personalizado diferente, [cree un componente de modelo personalizado](ml-customization.md#override-public-model-store) para anular el componente del modelo público.  
Valor predeterminado: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(Opcional) La ruta de la carpeta del dispositivo donde los componentes de inferencia leen las imágenes. Puede modificar este valor en cualquier ubicación del dispositivo a la que tenga read/write acceso.  
<a name="ml-config-imagedirectory-img-default"></a>Valor predeterminado: `/greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/`  
Si establece el valor de `UseCamera` en `true`, se ignora este parámetro de configuración. 

`ImageName`  
<a name="ml-config-imagename-desc"></a>(Opcional) El nombre de la imagen que el componente de inferencia utiliza como entrada para realizar una predicción. El componente busca la imagen en la carpeta especificada en `ImageDirectory`. De forma predeterminada, el componente usa la imagen de muestra en el directorio de imágenes predeterminado. AWS IoT Greengrass admite los siguientes formatos de imagen: `jpeg``jpg`,`png`, y`npy`.   
<a name="ml-config-imagename-img-default"></a>Valor predeterminado: `cat.jpeg`  
Si establece el valor de `UseCamera` en `true`, se ignora este parámetro de configuración. 

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Opcional) El tiempo en segundos entre cada predicción realizada por el código de inferencia. El código de inferencia de ejemplo se ejecuta indefinidamente y repite sus predicciones en el intervalo de tiempo especificado. Por ejemplo, puede cambiarlo por un intervalo más corto si desea utilizar imágenes tomadas por una cámara para realizar predicciones en tiempo real.  
Valor predeterminado: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(Opcional) Los modelos que se utilizan en el componente de modelo público dependiente. Modifique este parámetro solo si anuló el componente del modelo público por un componente personalizado.   
Predeterminado:  

```
{
    "model": "TensorFlowLite-Mobilenet"
}
```

`UseCamera`  <a name="ml-config-usecamera"></a>
(Opcional) El valor de cadena que define si se deben utilizar imágenes de una cámara conectada al dispositivo principal de Greengrass. Los valores admitidos son `true` y `false`.  
Si establece este valor en `true`, el código de inferencia de muestra accede a la cámara del dispositivo y ejecuta la inferencia localmente en la imagen capturada. Los valores de los parámetros `ImageName` y `ImageDirectory` se pasan por alto. Asegúrese de que el usuario que ejecuta este componente tenga read/write acceso a la ubicación en la que la cámara almacena las imágenes capturadas.  
Valor predeterminado: `false`  
Al ver la receta de este componente, el parámetro `UseCamera` de configuración no aparece en la configuración predeterminada. Sin embargo, puede modificar el valor de este parámetro en una [actualización de la combinación de configuraciones](update-component-configurations.md) al implementar el componente.   
Si establece `UseCamera` en `true`, también debe crear un enlace simbólico para permitir que el componente de inferencia acceda a la cámara desde el entorno virtual creado por el componente de tiempo de ejecución. Para obtener más información sobre cómo usar una cámara con los componentes de inferencia de muestra, consulte [Actualización de las configuraciones de los componentes](ml-tutorial-image-classification-camera.md).

## Archivo de registro local
<a name="tensorflow-lite-image-classification-component-log-file"></a>

Este componente usa el siguiente archivo de registro.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.TensorFlowLiteImageClassification.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteImageClassification.log
```

------

**Visualización de los registros de este componente**
+ Ejecute el siguiente comando en el dispositivo de núcleo para ver el archivo de registro de este componente en tiempo real. Sustituya `/greengrass/v2` o *C:\$1greengrass\$1v2* por la ruta a la carpeta AWS IoT Greengrass raíz.

------
#### [ Linux ]

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

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteImageClassification.log -Tail 10 -Wait
  ```

------

## Registros de cambios
<a name="tensorflow-lite-image-classification-component-changelog"></a>

En la siguiente tabla, se describen los cambios en cada versión del componente.


|  Versión  |  Cambios  | 
| --- | --- | 
|  2.1.12  |  Versión actualizada del lanzamiento del núcleo de Greengrass 2.12.5.  | 
|  2.1.11  | Versión actualizada para el lanzamiento de la versión 2.12.0 del núcleo de Greengrass. | 
|  2.1.10  | Versión actualizada para el lanzamiento de la versión 2.11.0 del núcleo de Greengrass. | 
|  2.1.9  | Versión actualizada para el lanzamiento de la versión 2.10.0 del núcleo de Greengrass. | 
|  2.1.8  | Versión actualizada para el lanzamiento de la versión 2.9.0 del núcleo de Greengrass. | 
|  2.1.7  | Versión actualizada para el lanzamiento de la versión 2.8.0 del núcleo de Greengrass. | 
|  2.1.6  |  Versión actualizada para el lanzamiento de la versión 2.7.0 del núcleo de Greengrass.  | 
|  2.1.5  |  Versión actualizada para el lanzamiento de la versión 2.6.0 del núcleo de Greengrass.  | 
|  2.1.4  |  Versión actualizada para el lanzamiento de la versión 2.5.0 del núcleo de Greengrass.  | 
|  2.1.3  |  Versión actualizada para el lanzamiento de la versión 2.4.0 del núcleo de Greengrass.  | 
|  2.1.2  |  Versión actualizada para el lanzamiento de la versión 2.3.0 del núcleo de Greengrass.  | 
|  2.1.1  |  Versión actualizada para el lanzamiento de la versión 2.2.0 del núcleo de Greengrass.  | 
|  2.1.0  |  Versión inicial.  | 