Classificazione delle immagini DLR - AWS IoT Greengrass

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

Classificazione delle immagini DLR

Il componente di classificazione delle immagini DLR (aws.greengrass.DLRImageClassification) contiene un codice di inferenza di esempio per eseguire l'inferenza di classificazione delle immagini utilizzando i modelli Deep Learning Runtime e resnet-50. Questo componente utilizza la variante Archivio modelli di classificazione delle immagini DLR e i Runtime DLR componenti come dipendenze per scaricare DLR e i modelli di esempio.

Per utilizzare questo componente di inferenza con un modello DLR personalizzato, create una versione personalizzata del componente dipendente del Model Store. Per utilizzare il proprio codice di inferenza personalizzato, è possibile utilizzare la ricetta di questo componente come modello per creare un componente di inferenza personalizzato.

Versioni

Questo componente ha le seguenti versioni:

  • 2.1.x

  • 2,0x

Type

Questo componente è un componente generico () aws.greengrass.generic. Il nucleo Greengrass esegue gli script del ciclo di vita del componente.

Per ulteriori informazioni, consulta Tipi di componenti.

Sistema operativo

Questo componente può essere installato su dispositivi principali che eseguono i seguenti sistemi operativi:

  • Linux

  • Windows

Requisiti

Questo componente presenta i seguenti requisiti:

  • Sui dispositivi core Greengrass che eseguono Amazon Linux 2 o Ubuntu 18.04, sul dispositivo è installata la versione 2.27 o successiva della GNU C Library (glibc).

  • Sui dispositivi ARMv7L, come Raspberry Pi, le dipendenze per OpenCV-Python sono installate sul dispositivo. Esegui il comando seguente per installare le dipendenze.

    sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  • I dispositivi Raspberry Pi che eseguono il sistema operativo Raspberry Pi Bullseye devono soddisfare i seguenti requisiti:

    • NumPy 1.22.4 o versione successiva installata sul dispositivo. Il sistema operativo Raspberry Pi Bullseye include una versione precedente di NumPy, quindi è possibile eseguire il seguente comando per l'aggiornamento del dispositivo. NumPy

      pip3 install --upgrade numpy
    • Lo stack di fotocamere legacy è abilitato sul dispositivo. Il sistema operativo Raspberry Pi Bullseye include un nuovo stack di fotocamere abilitato di default e non compatibile, quindi è necessario abilitare lo stack di fotocamere precedente.

      Per abilitare lo stack di telecamere precedente
      1. Esegui il seguente comando per aprire lo strumento di configurazione Raspberry Pi.

        sudo raspi-config
      2. Seleziona Opzioni di interfaccia.

      3. Seleziona Legacy camera per abilitare lo stack di telecamere legacy.

      4. Riavvia il dispositivo Raspberry Pi.

Dipendenze

Quando si distribuisce un componente, distribuisce AWS IoT Greengrass anche versioni compatibili delle relative dipendenze. Ciò significa che è necessario soddisfare i requisiti per il componente e tutte le sue dipendenze per distribuire correttamente il componente. Questa sezione elenca le dipendenze per le versioni rilasciate di questo componente e i vincoli di versione semantica che definiscono le versioni dei componenti per ogni dipendenza. È inoltre possibile visualizzare le dipendenze per ogni versione del componente nella console.AWS IoT Greengrass Nella pagina dei dettagli del componente, cerca l'elenco delle dipendenze.

2.1.13 and 2.1.14

La tabella seguente elenca le dipendenze per le versioni 2.1.13 e 2.1.14 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.13.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.1.0 Rigidi
DLR ~1.6.0 Rigidi
2.1.12

La tabella seguente elenca le dipendenze per la versione 2.1.12 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.12.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.1.0 Rigidi
DLR ~1.6.0 Rigidi
2.1.11

La tabella seguente elenca le dipendenze per la versione 2.1.11 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.11.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.1.0 Rigidi
DLR ~1.6.0 Rigidi
2.1.10

La tabella seguente elenca le dipendenze per la versione 2.1.10 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.10.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.1.0 Rigidi
DLR ~1.6.0 Rigidi
2.1.9

La tabella seguente elenca le dipendenze per la versione 2.1.9 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.9.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.1.0 Rigidi
DLR ~1.6.0 Rigidi
2.1.8

La tabella seguente elenca le dipendenze per la versione 2.1.8 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.8.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.1.0 Rigidi
DLR ~1.6.0 Rigidi
2.1.7

La tabella seguente elenca le dipendenze per la versione 2.1.7 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.7.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.1.0 Rigidi
DLR ~1.6.0 Rigidi
2.1.6

La tabella seguente elenca le dipendenze per la versione 2.1.6 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.6.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.1.0 Rigidi
DLR ~1.6.0 Rigidi
2.1.4 - 2.1.5

La tabella seguente elenca le dipendenze per le versioni da 2.1.4 a 2.1.5 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.5.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.1.0 Rigidi
DLR ~1.6.0 Rigidi
2.1.3

La tabella seguente elenca le dipendenze per la versione 2.1.3 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.4.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.1.0 Rigidi
DLR ~1.6.0 Rigidi
2.1.2

La tabella seguente elenca le dipendenze per la versione 2.1.2 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.3.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.1.0 Rigidi
DLR ~1.6.0 Rigidi
2.1.1

La tabella seguente elenca le dipendenze per la versione 2.1.1 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.2.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.1.0 Rigidi
DLR ~1.6.0 Rigidi
2.0.x

La tabella seguente elenca le dipendenze per la versione 2.0.x di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass ~2.0.0 Flessibili
Archivio di modelli di classificazione delle immagini DLR ~2.0.0 Rigidi
DLR ~1,3,0 Flessibili

Configurazione

Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare quando si distribuisce il componente.

2.1.x
accessControl

(Facoltativo) L'oggetto che contiene la politica di autorizzazione che consente al componente di pubblicare messaggi nell'argomento delle notifiche predefinito.

Impostazione predefinita:

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

(Facoltativo) L'argomento su cui si desidera pubblicare i risultati dell'inferenza. Se modificate questo valore, dovete modificare anche il valore del accessControl parametro resources in modo che corrisponda al nome dell'argomento personalizzato.

Impostazione predefinita: ml/dlr/image-classification

Accelerator

L'acceleratore che desideri utilizzare. I valori supportati sono cpu e gpu.

I modelli di esempio nel componente del modello dipendente supportano solo l'accelerazione della CPU. Per utilizzare l'accelerazione GPU con un modello personalizzato diverso, create un componente del modello personalizzato per sovrascrivere il componente del modello pubblico.

Impostazione predefinita: cpu

ImageDirectory

(Facoltativo) Il percorso della cartella sul dispositivo in cui i componenti di inferenza leggono le immagini. È possibile modificare questo valore in qualsiasi posizione del dispositivo a cui si dispone di accesso in lettura/scrittura.

Impostazione predefinita: /greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/

Nota

Se impostate il valore di UseCamera totrue, questo parametro di configurazione viene ignorato.

ImageName

(Facoltativo) Il nome dell'immagine che il componente di inferenza utilizza come input per effettuare una previsione. Il componente cerca l'immagine nella cartella specificata in. ImageDirectory Per impostazione predefinita, il componente utilizza l'immagine di esempio nella directory delle immagini predefinita. AWS IoT Greengrass supporta i seguenti formati di immagine: jpegjpg,png, enpy.

Impostazione predefinita: cat.jpeg

Nota

Se si imposta il valore di UseCamera totrue, questo parametro di configurazione viene ignorato.

InferenceInterval

(Facoltativo) Il tempo in secondi che intercorre tra ogni previsione effettuata dal codice di inferenza. Il codice di inferenza di esempio viene eseguito all'infinito e ripete le previsioni all'intervallo di tempo specificato. Ad esempio, è possibile impostare un intervallo più breve se si desidera utilizzare le immagini scattate da una fotocamera per la previsione in tempo reale.

Impostazione predefinita: 3600

ModelResourceKey

(Facoltativo) I modelli utilizzati nel componente del modello pubblico dipendente. Modificate questo parametro solo se sostituite il componente del modello pubblico con un componente personalizzato.

Impostazione predefinita:

{ "armv7l": "DLR-resnet50-armv7l-cpu-ImageClassification", "aarch64": "DLR-resnet50-aarch64-cpu-ImageClassification", "x86_64": "DLR-resnet50-x86_64-cpu-ImageClassification", "windows": "DLR-resnet50-win-cpu-ImageClassification" }
UseCamera

(Facoltativo) Valore di stringa che definisce se utilizzare le immagini di una fotocamera collegata al dispositivo principale Greengrass. I valori supportati sono true e false.

Quando impostate questo valore sutrue, il codice di inferenza di esempio accede alla fotocamera del dispositivo ed esegue l'inferenza localmente sull'immagine acquisita. I valori dei ImageDirectory parametri ImageName and vengono ignorati. Assicuratevi che l'utente che esegue questo componente abbia accesso in lettura/scrittura alla posizione in cui la fotocamera memorizza le immagini acquisite.

Impostazione predefinita: false

Nota

Quando si visualizza la ricetta di questo componente, il parametro di UseCamera configurazione non viene visualizzato nella configurazione predefinita. Tuttavia, è possibile modificare il valore di questo parametro in un aggiornamento di fusione della configurazione quando si distribuisce il componente.

Se impostate su UseCameratrue, dovete anche creare un collegamento simbolico per consentire al componente di inferenza di accedere alla telecamera dall'ambiente virtuale creato dal componente runtime. Per ulteriori informazioni sull'utilizzo di una telecamera con i componenti di inferenza di esempio, vedere. Aggiornamento delle configurazioni dei componenti

2.0.x
MLRootPath

(Facoltativo) Il percorso della cartella sui dispositivi principali Linux in cui i componenti di inferenza leggono le immagini e scrivono i risultati dell'inferenza. È possibile modificare questo valore in qualsiasi posizione del dispositivo a cui l'utente che esegue questo componente ha accesso in lettura/scrittura.

Impostazione predefinita: /greengrass/v2/work/variant.DLR/greengrass_ml

Impostazione predefinita: /greengrass/v2/work/variant.TensorFlowLite/greengrass_ml

Accelerator

L'acceleratore che desideri utilizzare. I valori supportati sono cpu e gpu.

I modelli di esempio nel componente del modello dipendente supportano solo l'accelerazione della CPU. Per utilizzare l'accelerazione GPU con un modello personalizzato diverso, create un componente del modello personalizzato per sovrascrivere il componente del modello pubblico.

Impostazione predefinita: cpu

ImageName

(Facoltativo) Il nome dell'immagine che il componente di inferenza utilizza come input per effettuare una previsione. Il componente cerca l'immagine nella cartella specificata in. ImageDirectory La posizione predefinita èMLRootPath/images. AWS IoT Greengrass supporta i seguenti formati di immagine: jpegjpg,png, enpy.

Impostazione predefinita: cat.jpeg

InferenceInterval

(Facoltativo) Il tempo in secondi tra ogni previsione effettuata dal codice di inferenza. Il codice di inferenza di esempio viene eseguito all'infinito e ripete le previsioni all'intervallo di tempo specificato. Ad esempio, è possibile impostare un intervallo più breve se si desidera utilizzare le immagini scattate da una fotocamera per la previsione in tempo reale.

Impostazione predefinita: 3600

ModelResourceKey

(Facoltativo) I modelli utilizzati nel componente del modello pubblico dipendente. Modificate questo parametro solo se sostituite il componente del modello pubblico con un componente personalizzato.

Impostazione predefinita:

armv7l: "DLR-resnet50-armv7l-cpu-ImageClassification" x86_64: "DLR-resnet50-x86_64-cpu-ImageClassification"

File di registro locale

Questo componente utilizza il seguente file di registro.

Linux
/greengrass/v2/logs/aws.greengrass.DLRImageClassification.log
Windows
C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.log
Per visualizzare i log di questo componente
  • Esegui il seguente comando sul dispositivo principale per visualizzare il file di registro di questo componente in tempo reale. Sostituisci /greengrass/v2 o C:\greengrass\v2 con il percorso della cartella AWS IoT Greengrass principale.

    Linux
    sudo tail -f /greengrass/v2/logs/aws.greengrass.DLRImageClassification.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.log -Tail 10 -Wait

Changelog

La tabella seguente descrive le modifiche apportate a ciascuna versione del componente.

Versione

Modifiche

2.1.14

Versione aggiornata per la release Greengrass nucleus 2.12.5.

2.1.13

Versione aggiornata per Greengrass nucleus versione 2.12.0.

2.1.12

Versione aggiornata per la versione 2.11.0 di Greengrass nucleus.

2.1.11

Versione aggiornata per la versione 2.10.0 di Greengrass nucleus.

2.1.10

Versione aggiornata per la versione 2.9.0 di Greengrass nucleus.

2.1.9

Versione aggiornata per la versione 2.8.0 di Greengrass nucleus.

2.1.8

Versione aggiornata per la versione 2.7.0 di Greengrass nucleus.

2.1.7

Versione aggiornata per la versione 2.6.0 di Greengrass nucleus.

2.1.6

Versione aggiornata per la versione 2.5.0 di Greengrass nucleus.

2.1.5

Componente rilasciato in tutto. Regioni AWS

2.1.4

Versione aggiornata per la versione 2.4.0 di Greengrass nucleus.

Questa versione non è disponibile in Europa (Londra) (). eu-west-2

2.1.3

Versione aggiornata per Greengrass nucleus versione 2.3.0.

2.1.2

Versione aggiornata per la versione 2.2.0 di Greengrass nucleus.

2.1.1

Nuove funzionalità
  • Usa Deep Learning Runtime v1.6.0.

  • Aggiungi il supporto per la classificazione delle immagini di esempio sulle piattaforme Armv8 (AArch64). Ciò estende il supporto dell'apprendimento automatico per i dispositivi core Greengrass che eseguono NVIDIA Jetson, come Jetson Nano.

  • Abilita l'integrazione della fotocamera per l'inferenza dei campioni. Utilizzate il nuovo parametro di UseCamera configurazione per consentire al codice di inferenza di esempio di accedere alla telecamera sul dispositivo principale Greengrass ed eseguire l'inferenza localmente sull'immagine acquisita.

  • Aggiungi il supporto per la pubblicazione dei risultati di inferenza a. Cloud AWS Utilizzate il nuovo parametro di PublishResultsOnTopic configurazione per specificare l'argomento su cui desiderate pubblicare i risultati.

  • Aggiungete il nuovo parametro di ImageDirectory configurazione che consente di specificare una directory personalizzata per l'immagine su cui desiderate eseguire l'inferenza.

Correzioni di bug e miglioramenti
  • Scrivi i risultati dell'inferenza nel file di registro del componente anziché in un file di inferenza separato.

  • Utilizzate il modulo di registrazione del software AWS IoT Greengrass Core per registrare l'output dei componenti.

  • Utilizzate il SDK per dispositivi AWS IoT per leggere la configurazione del componente e applicare le modifiche alla configurazione.

2.0.4

Versione iniziale.