TensorFlow Runtime Lite - 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à.

TensorFlow Runtime Lite

Il componente runtime TensorFlow Lite (variant.TensorFlowLite) contiene uno script che installa la versione TensorFlow Lite 2.5.0 e le relative dipendenze in un ambiente virtuale sul dispositivo. Il componente TensorFlow Lite per la classificazione delle immagini e il rilevamento degli oggetti TensorFlow Lite utilizzano questo componente di runtime come dipendenza per l'installazione di Lite. TensorFlow

Nota

TensorFlow Il componente di runtime Lite v2.5.6 e versioni successive reinstalla le installazioni esistenti del runtime Lite e delle TensorFlow sue dipendenze. Questa reinstallazione aiuta a garantire che il dispositivo principale esegua versioni compatibili di Lite e delle sue dipendenze. TensorFlow

Per utilizzare un runtime diverso, puoi utilizzare la ricetta di questo componente come modello per creare un componente di apprendimento automatico personalizzato.

Versioni

Questo componente ha le seguenti versioni:

  • 2.5.x

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.

Endpoint e porte

Per impostazione predefinita, questo componente utilizza uno script di installazione per installare i pacchetti utilizzando i pip comandi aptyum,brew, e, a seconda della piattaforma utilizzata dal dispositivo principale. Questo componente deve essere in grado di eseguire le richieste in uscita verso vari indici e repository di pacchetti per eseguire lo script di installazione. Per consentire il traffico in uscita di questo componente attraverso un proxy o un firewall, è necessario identificare gli endpoint degli indici e degli archivi dei pacchetti a cui il dispositivo principale si connette per l'installazione.

Quando identificate gli endpoint necessari per lo script di installazione di questo componente, tenete presente quanto segue:

  • Gli endpoint dipendono dalla piattaforma del dispositivo principale. Ad esempio, un dispositivo principale che esegue Ubuntu utilizza apt anziché yum obrew. Inoltre, i dispositivi che utilizzano lo stesso indice di pacchetti potrebbero avere elenchi di sorgenti diversi, quindi potrebbero recuperare pacchetti da repository diversi.

  • Gli endpoint potrebbero differire tra più dispositivi che utilizzano lo stesso indice di pacchetti, poiché ogni dispositivo ha i propri elenchi di sorgenti che definiscono dove recuperare i pacchetti.

  • Gli endpoint potrebbero cambiare nel tempo. Ogni indice dei pacchetti fornisce gli URL dei repository in cui si scaricano i pacchetti e il proprietario di un pacchetto può modificare gli URL forniti dall'indice dei pacchetti.

Per ulteriori informazioni sulle dipendenze installate da questo componente e su come disabilitare lo script di installazione, vedete il parametro di configurazione. UseInstaller

Per ulteriori informazioni sugli endpoint e le porte necessari per il funzionamento di base, vedere. Consenti il traffico dei dispositivi tramite un proxy o un firewall

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.5.14 and 2.5.15

La tabella seguente elenca le dipendenze per le versioni 2.5.14 e 2.5.15 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.13.0 Flessibili
2.5.13

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

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.12.0 Flessibili
2.5.12

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

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.11.0 Flessibili
2.5.11

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

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.10.0 Flessibili
2.5.10

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

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.9.0 Flessibili
2.5.9

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

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.8.0 Flessibili
2.5.8

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

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.7.0 Flessibili
2.5.5 - 2.5.7

La tabella seguente elenca le dipendenze per le versioni da 2.5.5 a 2.5.7 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.6.0 Flessibili
2.5.3 and 2.5.4

La tabella seguente elenca le dipendenze per le versioni 2.5.3 e 2.5.4 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.5.0 Flessibili
2.5.2

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

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.4.0 Flessibili
2.5.1

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

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.3.0 Flessibili
2.5.0

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

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.2.0 Flessibili

Per ulteriori informazioni sulle dipendenze dei componenti, vedere il riferimento alla ricetta dei componenti.

Configurazione

Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare durante la distribuzione del componente.

MLRootPath

(Facoltativo) Il percorso della cartella sui dispositivi principali di 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.TensorFlowLite/greengrass_ml

WindowsMLRootPath

Questa funzionalità è disponibile nella versione 1.6.6 e successive di questo componente.

(Facoltativo) Il percorso della cartella sul dispositivo principale di Windows 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: C:\greengrass\v2\\work\\variant.DLR\\greengrass_ml

UseInstaller

(Facoltativo) Valore di stringa che definisce se utilizzare lo script di installazione in questo componente per installare TensorFlow Lite e le sue dipendenze. I valori supportati sono true e false.

Imposta questo valore su false se desideri utilizzare uno script personalizzato per l'installazione di TensorFlow Lite o se desideri includere dipendenze di runtime in un'immagine Linux predefinita. Per utilizzare questo componente con i componenti di inferenza TensorFlow Lite AWS forniti, installa le seguenti librerie, comprese le eventuali dipendenze, e rendile disponibili all'utente del sistema, ad esempio chi esegue i componenti ggc_user ML.

Impostazione predefinita: true

Utilizzo

Utilizzate questo componente con il parametro UseInstaller di configurazione impostato per true installare TensorFlow Lite e le sue dipendenze sul dispositivo. Il componente configura un ambiente virtuale sul dispositivo che include OpenCV NumPy e le librerie necessarie per Lite. TensorFlow

Nota

Lo script di installazione di questo componente installa anche le versioni più recenti di librerie di sistema aggiuntive necessarie per configurare l'ambiente virtuale sul dispositivo e per utilizzare il framework di machine learning installato. Ciò potrebbe aggiornare le librerie di sistema esistenti sul dispositivo. Consulta la tabella seguente per l'elenco delle librerie installate da questo componente per ogni sistema operativo supportato. Se desiderate personalizzare questo processo di installazione, impostate il parametro di UseInstaller configurazione su e sviluppate il vostro script di installazione. false

Piattaforma Librerie installate sul sistema del dispositivo Librerie installate nell'ambiente virtuale
Armv7l build-essential, cmake, ca-certificates, git setuptools, wheel
Amazon Linux 2 mesa-libGL Nessuno
Ubuntu wget Nessuno

Quando si distribuisce il componente di inferenza, questo componente di runtime verifica innanzitutto se sul dispositivo sono già installati TensorFlow Lite e le relative dipendenze. In caso contrario, il componente di runtime li installa automaticamente.

File di registro locale

Questo componente utilizza il seguente file di registro.

Linux
/greengrass/v2/logs/variant.TensorFlowLite.log
Windows
C:\greengrass\v2\logs\variant.TensorFlowLite.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/variant.TensorFlowLite.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\variant.TensorFlowLite.log -Tail 10 -Wait

Changelog

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

Versione

Modifiche

2.5.15

Versione aggiornata per la release Greengrass nucleus 2.12.5.

2.5.14

Versione aggiornata per la versione 2.12.0 di Greengrass nucleus.

2.5.13

Versione aggiornata per la versione 2.11.0 di Greengrass nucleus.

2.5.12

Versione aggiornata per la versione 2.10.0 di Greengrass nucleus.

2.5.11

Versione aggiornata per la versione 2.9.0 di Greengrass nucleus.

2.5.10

Versione aggiornata per la versione 2.8.0 di Greengrass nucleus.

2.5.9

Versione aggiornata per la versione 2.7.0 di Greengrass nucleus.

2.5.8

Versione aggiornata per la versione 2.6.0 di Greengrass nucleus.

2.5.7

Correzioni di bug e miglioramenti
  • Aggiorna lo script di UseInstaller installazione per installare LibGL, che non è disponibile per impostazione predefinita su alcune piattaforme Linux.

  • Aggiorna lo script di UseInstaller installazione per utilizzare sempre Python 3.9 nell'ambiente virtuale di questo componente. Questa modifica aiuta a garantire la compatibilità con altre librerie.

2.5.6

Correzioni di bug e miglioramenti
  • Aggiorna questo componente per installare l'ultima patch di TensorFlow Lite 2.5.0 (tflite-runtime-2.5.0.post1), quindi puoi usare questo componente con Python 3.9. Se questo componente non riesce a installare quella patch, si installa al suo posto. tflite-runtime-2.5.0

  • Aggiorna questo componente per reinstallare le installazioni esistenti di TensorFlow Lite e le relative dipendenze. Questa modifica aiuta a garantire che il dispositivo principale esegua versioni compatibili di TensorFlow Lite e delle sue dipendenze.

2.5.5

Nuove funzionalità
  • Aggiunge il supporto per i dispositivi principali che eseguono Windows.

  • Aggiunge il nuovo parametro di WindowsMLRootPath configurazione che è possibile utilizzare per configurare la cartella dei risultati di inferenza sui dispositivi principali di Windows.

2.5.4

Nuove funzionalità
  • Aggiunge il nuovo parametro UseInstaller di configurazione che consente di disabilitare lo script di installazione in questo componente.

2.5.3

Versione aggiornata per la versione 2.4.0 di Greengrass nucleus.

2.5.2

Versione aggiornata per la versione 2.3.0 di Greengrass nucleus.

2.5.1

Versione aggiornata per la versione 2.2.0 di Greengrass nucleus.

2.5.0

Versione iniziale.