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.
Personalización de sus componentes de machine learning
En AWS IoT Greengrass, puede configurar ejemplos de componentes de aprendizaje automático para personalizar la forma en que realiza la inferencia de aprendizaje automático en sus dispositivos, con los componentes de inferencia, modelo y tiempo de ejecución como componentes básicos. AWS IoT Greengrass también le proporciona la flexibilidad de usar los componentes de muestra como plantillas y crear sus propios componentes personalizados según sea necesario. Puede combinar este enfoque modular para personalizar los componentes de inferencia del machine learning de las siguientes maneras:
- Uso de ejemplos de componentes de inferencia
-
-
Modifique la configuración de los componentes de inferencia cuando los implemente.
-
Utilice un modelo personalizado con el componente de inferencia de muestra sustituyendo el componente almacén de modelos de muestra por un componente de modelo personalizado. El modelo personalizado debe entrenarse con el mismo tiempo de ejecución que el modelo de muestra.
-
- Uso de componentes de inferencia personalizados
-
-
Use código de inferencia personalizado con los modelos y tiempos de ejecución de muestra agregando componentes de modelos públicos y componentes de tiempo de ejecución como dependencias de los componentes de inferencia personalizados.
-
Cree y agrega componentes de modelo personalizados o componentes de tiempo de ejecución como dependencias de componentes de inferencia personalizados. Debe utilizar componentes personalizados si desea utilizar un código de inferencia personalizado o un entorno de ejecución para el que AWS IoT Greengrass no se proporcione un componente de muestra.
-
Temas
Modificación de la configuración de un componente de inferencia público
En la consola de AWS IoT Greengrass
{ "accessControl": { "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": "ml/tflite/image-classification", "ImageName": "cat.jpeg", "InferenceInterval": 3600, "ModelResourceKey": { "model": "TensorFlowLite-Mobilenet" } }
Cuando implementa un componente de inferencia público, puede modificar la configuración predeterminada para personalizar su implementación. Para obtener información sobre los parámetros de configuración disponibles para cada componente de inferencia pública, consulte el tema del componente en Componentes de machine learning proporcionados por AWS.
En esta sección se describe cómo implementar un componente modificado desde la AWS IoT Greengrass consola. Para obtener información sobre la implementación de componentes mediante el AWS CLI, consulteCrear implementaciones.
Cómo implementar un componente de inferencia pública modificado (consola)
-
Inicie sesión en la consola de AWS IoT Greengrass
. -
En el menú de navegación, elija Componentes.
-
En la página Componentes, en la pestaña Componentes públicos, elija el componente que desea implementar.
-
En la página del componente, elija Implementar.
-
En Agregar a la implementación, elija una de las siguientes opciones:
-
Para combinar este componente con una implementación existente en el dispositivo de destino, elija Agregar a la implementación existente y, a continuación, seleccione la implementación que desee revisar.
-
Para crear una nueva implementación en el dispositivo de destino, elija Crear nueva implementación. Si tiene una implementación existente en su dispositivo, al elegir este paso se reemplaza la implementación existente.
-
-
En la página Especificar detalles, haga lo siguiente:
-
En Información de implementación, introduzca o modifique el nombre descriptivo de su implementación.
-
En Objetivos de implementación, seleccione un objetivo para su implementación y elija Siguiente. No puede cambiar el objetivo de implementación si está revisando una implementación existente.
-
-
En la página Seleccionar componentes, en Componentes públicos, compruebe que está seleccionado el componente de inferencia con la configuración modificada y elija Siguiente.
-
En la página Configurar componentes, haga lo siguiente:
-
Seleccione el componente de inferencia y elija Configurar componente.
-
En Actualización de configuración, introduzca los valores de configuración que desee actualizar. Por ejemplo, introduzca la siguiente actualización de configuración en el cuadro Configuración para combinar para cambiar el intervalo de inferencia a 15 segundos e indique al componente que busque la imagen con nombre
custom.jpg
en la carpeta/custom-ml-inference/images/
.{ "InferenceInterval": "15", "ImageName": "custom.jpg", "ImageDirectory": "/custom-ml-inference/images/" }
Para restablecer toda la configuración de un componente a sus valores predeterminados, especifique una sola cadena vacía
""
en el cuadro Restablecer rutas. -
Seleccione Confirmar y, a continuación, elija Siguiente.
-
-
En la página Configurar ajustes avanzados, mantenga los ajustes de configuración predeterminados y seleccione Siguiente.
-
En la página Revisar, elija Implementar.
Uso de un modelo personalizado con el componente de inferencia de muestra
Si desea utilizar el componente de inferencia de ejemplo con sus propios modelos de aprendizaje automático para un tiempo de ejecución que AWS IoT Greengrass proporcione un componente de tiempo de ejecución de ejemplo, debe anular los componentes del modelo público por componentes que utilicen esos modelos como artefactos. En general, debe completar los siguientes pasos para usar un modelo personalizado con el componente de inferencia de muestra:
-
Cree un componente de modelo que utilice un modelo personalizado en un bucket de S3 como artefacto. Su modelo personalizado debe entrenarse con el mismo tiempo de ejecución que el modelo que desea reemplazar.
-
Modifique el parámetro de configuración
ModelResourceKey
en el componente de inferencia para usar el modelo personalizado. Para obtener información sobre la actualización de la configuración del componente de inferencia, consulte Modificación de la configuración de un componente de inferencia público.
Al implementar el componente de inferencia, AWS IoT Greengrass busca la versión más reciente de las dependencias de sus componentes. Anula el componente del modelo público dependiente si existe una versión personalizada posterior del componente en la misma banda. Cuenta de AWS Región de AWS
-
Suba un modelo en su bucket de S3. Para obtener más información acerca de cargar sus modelos a un bucket de S3, consulte Cómo trabajar con buckets de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.
nota
Debe almacenar sus artefactos en depósitos de S3 que estén en los mismos Cuenta de AWS y Región de AWS como los componentes. Para permitir el acceso AWS IoT Greengrass a estos artefactos, el rol de dispositivo de Greengrass debe permitir la
s3:GetObject
acción. Para obtener más información acerca del rol del dispositivo, consulte Autorización de los dispositivos principales para interactuar con los servicios de AWS. -
En el menú de navegación de la consola de AWS IoT Greengrass
, elija Componentes. -
Recupere la receta del componente para el componente del almacén de modelos público.
-
En la página Componentes, en la pestaña Componentes públicos, busque y elija el componente del modelo público para el que desee crear una nueva versión. Por ejemplo,
variant.DLR.ImageClassification.ModelStore
. -
En la página del componente, elija Ver receta y copie la JSON receta que se muestra.
-
-
En en la página Componentes, en la pestaña Mis componentes, elija Crear componente.
-
En la página Crear componente, en Información del componente, seleccione Introducir receta JSON como fuente de componentes.
-
En el cuadro Receta, pegue la receta del componente que copió anteriormente.
-
En la receta, actualice los siguientes valores:
-
ComponentVersion
: aumenta la versión menor del componente.Cuando cree un componente personalizado para anular un componente un modelo público, debe actualizar solo la versión menor de la versión del componente existente. Por ejemplo, si la versión del componente público es
2.1.0
, puede crear un componente personalizado con la versión2.1.1
. -
Manifests.Artifacts.Uri
: actualice cada URI valor al Amazon S3 URI del modelo que desee utilizar.
nota
No cambie el nombre del componente.
-
-
Seleccione Crear componente.
-
Suba un modelo en su bucket de S3. Para obtener más información acerca de cargar sus modelos a un bucket de S3, consulte Cómo trabajar con buckets de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.
nota
Debe almacenar sus artefactos en depósitos de S3 que estén en el mismo lugar Cuenta de AWS y Región de AWS como los componentes. Para permitir el acceso AWS IoT Greengrass a estos artefactos, el rol de dispositivo de Greengrass debe permitir la
s3:GetObject
acción. Para obtener más información acerca del rol del dispositivo, consulte Autorización de los dispositivos principales para interactuar con los servicios de AWS. -
Ejecute el siguiente comando para recuperar la receta de componente del componente público. Este comando escribe la receta del componente en el archivo de salida que usted proporcione en el comando. Convierta la cadena codificada en base64 recuperada en JSON oYAML, según sea necesario.
-
Actualice el nombre del archivo de recetas a
, donde la versión del componente sea la versión de destino del nuevo componente. Por ejemplo,<component-name>
-<component-version>
variant.DLR.ImageClassification.ModelStore-2.1.1.yaml
. -
En la receta, actualice los siguientes valores:
-
ComponentVersion
: aumenta la versión menor del componente.Cuando cree un componente personalizado para anular un componente un modelo público, debe actualizar solo la versión menor de la versión del componente existente. Por ejemplo, si la versión del componente público es
2.1.0
, puede crear un componente personalizado con la versión2.1.1
. -
Manifests.Artifacts.Uri
: actualice cada URI valor al Amazon S3 URI del modelo que desee utilizar.
nota
No cambie el nombre del componente.
-
-
Ejecute el siguiente comando para crear un componente nuevo con la receta que recuperó y modificó.
aws greengrassv2 create-component-version \ --inline-recipe fileb://
path/to/component/recipe
nota
Este paso crea el componente del AWS IoT Greengrass servicio en Nube de AWS. Puede usar Greengrass CLI para desarrollar, probar e implementar su componente localmente antes de subirlo a la nube. Para obtener más información, consulte Desarrollar AWS IoT Greengrass componentes.
Para obtener más información sobre cómo crear componentes, consulte Desarrollar AWS IoT Greengrass componentes.
Creación de componentes de machine learning personalizados
Debe crear componentes personalizados si desea utilizar un código de inferencia personalizado o un entorno de ejecución para el que AWS IoT Greengrass no se proporcione un componente de muestra. Puede usar su código de inferencia personalizado con los modelos de aprendizaje automático y tiempos de ejecución de muestra AWS proporcionados, o puede desarrollar una solución de inferencia de aprendizaje automático completamente personalizada con sus propios modelos y tiempo de ejecución. Si sus modelos utilizan un entorno de ejecución para el que se AWS IoT Greengrass proporciona un ejemplo de componente de tiempo de ejecución, puede utilizar ese componente de tiempo de ejecución y tendrá que crear componentes personalizados únicamente para el código de inferencia y los modelos que desee utilizar.
Temas
Obtención de la receta de un componente público
Puede utilizar la receta de un componente público de machine learning existente como plantilla para crear un componente personalizado. Para ver la receta de componentes de la última versión de un componente público, utilice la consola o utilice la AWS CLI siguiente opción:
-
Uso de la consola
-
En la página Componentes, en la pestaña Componentes públicos, busque y elija el componente público.
-
En la página del componente, elija Ver receta.
-
-
Usando AWS CLI
Ejecute el siguiente comando para recuperar la receta de componente del componente de la variante pública. Este comando escribe la receta del componente en el archivo JSON o archivo de YAML recetas que usted proporciona en el comando.
Sustituya los valores del comando de la siguiente manera:
-
. El nombre del recurso de Amazon (ARN) del componente público.<arn>
-
. El formato en el que desea crear el archivo de recetas. Los valores admitidos son<recipe-format>
JSON
yYAML
. -
. El nombre de la receta en el formato<recipe-file>
.<component-name>
-<component-version>
-
Obtención de artefactos de componentes de muestra
Puede utilizar los artefactos que utilizan los componentes públicos de machine learning como plantillas para crear sus artefactos de componentes personalizados, como códigos de inferencia o cadenas de instalación en tiempo de ejecución.
Para ver los artefactos de muestra que se incluyen en los componentes públicos de machine learning, implemente el componente de inferencia público y, a continuación, visualice los artefactos del dispositivo en la carpeta
.
/packages/artifacts-unarchived//greengrass/v2
component-name
/component-version
/
Carga de artefactos de componentes en un bucket de S3
Antes de poder crear un componente personalizado, debe cargar los artefactos del componente en un bucket de S3 y utilizar el S3 URIs en la receta del componente. Por ejemplo, para usar un código de inferencia personalizado en su componente de inferencia, cargue el código en un bucket de S3. A continuación, puede utilizar el Amazon S3 URI de su código de inferencia como un artefacto en su componente.
Para obtener más información acerca de cargar contenido a un bucket de S3, consulte Cómo trabajar con buckets de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.
nota
Debe almacenar sus artefactos en depósitos de S3 que estén en el mismo Cuenta de AWS y Región de AWS igual que los componentes. Para permitir el acceso AWS IoT Greengrass a estos artefactos, el rol de dispositivo de Greengrass debe permitir la s3:GetObject
acción. Para obtener más información acerca del rol del dispositivo, consulte Autorización de los dispositivos principales para interactuar con los servicios de AWS.
Creación de componentes personalizados
Puede utilizar los artefactos y las recetas que haya recuperado para crear sus componentes de machine learning personalizados. Para ver un ejemplo, consulta Creación de un componente de inferencia personalizado.
Para obtener información detallada sobre la creación e implementación de componentes en los dispositivos de Greengrass, consulte Desarrollar AWS IoT Greengrass componentes y Implementación de componentes de AWS IoT Greengrass en los dispositivos.
Creación de un componente de inferencia personalizado
En esta sección, se muestra cómo crear un componente de inferencia personalizado utilizando el componente de clasificación de DLR imágenes como plantilla.
Temas
Carga de su código de inferencia a un bucket de Amazon S3
Cree su código de inferencia y, a continuación, cárguelo en un bucket de S3. Para obtener más información acerca de cargar contenido a un bucket de S3, consulte Cómo trabajar con buckets de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.
nota
Debe almacenar sus artefactos en depósitos de S3 que estén en el mismo Cuenta de AWS y Región de AWS igual que los componentes. Para permitir el acceso AWS IoT Greengrass a estos artefactos, el rol de dispositivo de Greengrass debe permitir la s3:GetObject
acción. Para obtener más información acerca del rol del dispositivo, consulte Autorización de los dispositivos principales para interactuar con los servicios de AWS.
Creación de una receta para su componente de inferencia
-
Ejecute el siguiente comando para recuperar la receta del componente de clasificación de DLR imágenes. Este comando escribe la receta del componente en el archivo de YAML recetas JSON o en el archivo de recetas que usted proporciona en el comando.
<recipe-file>
Sustitúyalo por el nombre de la receta en el formato
.<component-name>
-<component-version>
-
En el objeto
ComponentDependencies
de la receta, realice una o varias de las siguientes acciones según el modelo y los componentes del tiempo de ejecución que desee utilizar:-
Mantenga la dependencia del DLR componente si quiere usar modelos DLR compilados. También puede reemplazarlo por una dependencia de un componente de tiempo de ejecución personalizado, como se muestra en el ejemplo siguiente.
Componente de tiempo de ejecución
-
Mantenga la dependencia del almacén de modelos de clasificación de DLR imágenes para usar los ResNet -50 modelos previamente entrenados que AWS proporciona, o modifíquela para usar un componente de modelo personalizado. Al incluir una dependencia para un componente de modelo público, si existe una versión personalizada posterior del componente en el mismo Cuenta de AWS y Región de AWS, entonces, el componente de inferencia utiliza ese componente personalizado. Especifique la dependencia del componente del modelo como se muestra en los siguientes ejemplos.
Componente de modelo público
Componente de modelo personalizado
-
-
En el objeto
ComponentConfiguration
, agregue la configuración por defecto para este componente. Más adelante podrá modificar esta configuración cuando implemente el componente. En el siguiente extracto se muestra la configuración del componente de clasificación de DLR imágenes.Por ejemplo, si usa un componente de modelo personalizado como dependencia para su componente de inferencia personalizado, modifique
ModelResourceKey
para proporcionar los nombres de los modelos que está utilizando. -
En el objeto
Manifests
, proporcione información sobre los artefactos y la configuración de este componente que se utilizan cuando el componente se implementa en diferentes plataformas y cualquier otra información necesaria para ejecutar correctamente el componente. El siguiente extracto muestra la configuración delManifests
objeto para la plataforma Linux en el componente de clasificación de DLR imágenes.
Para obtener más información acerca de la creación de recetas de componentes, consulte AWS IoT Greengrass referencia de recetas de componentes.
Creación del componente de inferencia
Utilice la AWS IoT Greengrass consola o la AWS CLI para crear un componente utilizando la receta que acaba de definir. Una vez creado el componente, puede implementarlo para realizar inferencias en su dispositivo. Para ver un ejemplo de cómo implementar un componente de inferencia, consulte Tutorial: Realización de una inferencia de clasificación de imágenes de muestra con TensorFlow Lite.
-
Inicie sesión en la consola de AWS IoT Greengrass
. -
En el menú de navegación, elija Componentes.
-
En en la página Componentes, en la pestaña Mis componentes, elija Crear componente.
-
En la página Crear componente, en Información del componente, seleccione Introducir receta como JSON o Introducir receta YAML como fuente de componentes.
-
En el cuadro Receta, introduzca la receta personalizada que haya creado.
-
Haga clic en Crear componente.
Ejecute el siguiente comando para crear un componente personalizado nuevo con la receta que creó.
aws greengrassv2 create-component-version \ --inline-recipe fileb://
path/to/recipe/file
nota
Este paso crea el componente en el AWS IoT Greengrass servicio en Nube de AWS. Puede usar Greengrass CLI para desarrollar, probar e implementar su componente localmente antes de subirlo a la nube. Para obtener más información, consulte Desarrollar AWS IoT Greengrass componentes.