View a markdown version of this page

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 di 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 TensorFlow componente di classificazione delle immagini TensorFlow Lite e di rilevamento degli oggetti Lite utilizza 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 relative dipendenze. Questa reinstallazione aiuta a garantire che il dispositivo principale esegua versioni compatibili di Lite e delle relative dipendenze. TensorFlow

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

Versioni

Questo componente ha le seguenti versioni:

  • 2.5.x

Tipo

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

Per ulteriori informazioni, consulta Tipi di componenti.

Sistema operativo

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

  • Linux

  • Windows

Requisiti

Questo componente ha i seguenti requisiti:

  • Sui dispositivi di base 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 vengono installate sul dispositivo. OpenCV-Python 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. Raspberry Pi OS Bullseye include una versione precedente di NumPy, quindi puoi eseguire il seguente comando per eseguire l'aggiornamento sul dispositivo. NumPy

      pip3 install --upgrade numpy
    • Lo stack di fotocamere precedente abilitato sul dispositivo. Raspberry Pi OS Bullseye include un nuovo stack di fotocamere che è abilitato per impostazione predefinita e non è compatibile, quindi è necessario abilitare lo stack di fotocamere precedente.

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

        sudo raspi-config
      2. Seleziona Opzioni di interfaccia.

      3. Seleziona Videocamera legacy 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 richieste in uscita a 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 per gli indici dei pacchetti e i repository a cui il dispositivo principale si connette per l'installazione.

Quando identifichi gli endpoint necessari per lo script di installazione di questo componente, considera quanto segue:

  • Gli endpoint dipendono dalla piattaforma principale del dispositivo. Ad esempio, un dispositivo principale che esegue Ubuntu utilizza apt invece di 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 dei 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 vengono scaricati 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 sulle 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, vengono distribuite AWS IoT Greengrass anche versioni compatibili delle relative dipendenze. Ciò significa che è necessario soddisfare i requisiti del 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 semantici della versione che definiscono le versioni dei componenti per ciascuna dipendenza. È inoltre possibile visualizzare le dipendenze per ciascuna 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 di Greengrass > =2.0.0 <2.2.0 Flessibili

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

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 Linux in cui i componenti di inferenza leggono le immagini e scrivono i risultati di inferenza. È possibile modificare questo valore in qualsiasi posizione del dispositivo a cui l'utente che esegue questo componente abbia read/write accesso.

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 di inferenza. È possibile modificare questo valore in qualsiasi posizione del dispositivo a cui l'utente che esegue questo componente abbia read/write accesso.

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 le dipendenze di runtime in un'immagine Linux precompilata. Per utilizzare questo componente con i componenti di inferenza TensorFlow Lite AWS forniti, installate le seguenti librerie, incluse le eventuali dipendenze, e rendetele disponibili all'utente del sistema, ad esempioggc_user, che esegue i componenti ML.

Impostazione predefinita: true

Utilizzo

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

Nota

Lo script di installazione di questo componente installa anche le ultime versioni 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 desideri personalizzare questo processo di installazione, imposta il parametro di UseInstaller configurazione su false e sviluppa il tuo script di installazione.

Platform (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 per te.

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 in ciascuna versione del componente.

Versione

Modifiche

2.5.15

Versione aggiornata per la versione 2.12.5 di Greengrass nucleus.

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 di default su alcune piattaforme Linux.

  • Aggiorna lo script UseInstaller di 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), in modo da poterlo utilizzare con Python 3.9. Se questo componente non riesce a installare la patch, viene invece installata. 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 relative 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 Windows core.

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 Greengrass nucleus versione 2.4.0.

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.