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à.
Personalizza i tuoi componenti di machine learning
InAWS IoT Greengrass, puoi configurare componenti di machine learning di esempio per personalizzare il modo in cui esegui l'inferenza di machine learning sui tuoi dispositivi utilizzando i componenti di inferenza, modello e runtime come elementi costitutivi. AWS IoT Greengrassoffre inoltre la flessibilità necessaria per utilizzare i componenti di esempio come modelli e creare componenti personalizzati in base alle esigenze. È possibile combinare questo approccio modulare per personalizzare i componenti di inferenza dell'apprendimento automatico nei seguenti modi:
- Utilizzo di componenti di inferenza di esempio
-
-
Modifica la configurazione dei componenti di inferenza quando li distribuisci.
-
Utilizzate un modello personalizzato con il componente di inferenza del campione sostituendo il componente sample model store con un componente del modello personalizzato. Il modello personalizzato deve essere addestrato utilizzando lo stesso runtime del modello di esempio.
-
- Utilizzo di componenti di inferenza personalizzati
-
-
Usa codice di inferenza personalizzato con i modelli e i runtime di esempio aggiungendo componenti del modello pubblico e componenti di runtime come dipendenze dei componenti di inferenza personalizzati.
-
Crea e aggiungi componenti di modello personalizzati o componenti di runtime come dipendenze di componenti di inferenza personalizzati. È necessario utilizzare componenti personalizzati se si desidera utilizzare un codice di inferenza personalizzato o un runtime per il quale AWS IoT Greengrass non è disponibile un componente di esempio.
-
Argomenti
Modifica la configurazione di un componente di inferenza pubblica
Nella AWS IoT Greengrassconsole
{ "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" } }
Quando si distribuisce un componente di inferenza pubblica, è possibile modificare la configurazione predefinita per personalizzare la distribuzione. Per informazioni sui parametri di configurazione disponibili per ogni componente di inferenza pubblica, consulta l'argomento relativo al componente in. AWS-componenti di apprendimento automatico forniti
Questa sezione descrive come distribuire un componente modificato dalla AWS IoT Greengrass console. Per informazioni sulla distribuzione dei componenti utilizzando ilAWS CLI, vedere. Creare distribuzione
Per distribuire un componente di inferenza pubblica modificato (console)
-
Accedi alla console AWS IoT Greengrass
. -
Nel menu di navigazione, scegli Componenti.
-
Nella pagina Componenti, nella scheda Componenti pubblici, scegli il componente che desideri distribuire.
-
Nella pagina del componente, scegli Distribuisci.
-
Da Aggiungi alla distribuzione, scegli una delle seguenti opzioni:
-
Per unire questo componente a una distribuzione esistente sul dispositivo di destinazione, scegli Aggiungi alla distribuzione esistente, quindi seleziona la distribuzione che desideri modificare.
-
Per creare una nuova distribuzione sul dispositivo di destinazione, scegli Crea nuova distribuzione. Se hai una distribuzione esistente sul tuo dispositivo, la scelta di questo passaggio sostituisce la distribuzione esistente.
-
-
Nella pagina Specifica destinazione, procedi come segue:
-
In Informazioni sulla distribuzione, inserisci o modifica il nome descrittivo della distribuzione.
-
In Destinazione della distribuzione, seleziona una destinazione della distribuzione e scegli Avanti. Non è possibile modificare la destinazione della distribuzione se si sta revisionando una distribuzione esistente.
-
-
Nella pagina Seleziona componenti, in Componenti pubblici, verifica che sia selezionato il componente di inferenza con la configurazione modificata e scegli Avanti.
-
Nella pagina Configura componenti, procedi come segue:
-
Selezionate il componente di inferenza e scegliete Configura componente.
-
In Aggiornamento della configurazione, inserisci i valori di configurazione che desideri aggiornare. Ad esempio, inserisci il seguente aggiornamento di configurazione nella casella Configurazione da unire per modificare l'intervallo di inferenza a 15 secondi e chiedi al componente di cercare l'immagine denominata
custom.jpg
nella cartella./custom-ml-inference/images/
{ "InferenceInterval": "15", "ImageName": "custom.jpg", "ImageDirectory": "/custom-ml-inference/images/" }
Per ripristinare l'intera configurazione di un componente ai valori predefiniti, specificate una singola stringa vuota
""
nella casella Reimposta percorsi. -
Seleziona Conferma e scegli Avanti.
-
-
Nella pagina Configura impostazioni avanzate, mantieni le impostazioni di configurazione predefinite e scegli Avanti.
-
Nella pagina di revisione, scegli Distribuisci
Utilizza un modello personalizzato con il componente di inferenza del campione
Se desideri utilizzare il componente di inferenza del campione con i tuoi modelli di machine learning per un runtime che AWS IoT Greengrass fornisce un componente di runtime di esempio, devi sostituire i componenti del modello pubblico con componenti che utilizzano tali modelli come artefatti. A un livello elevato, completate i seguenti passaggi per utilizzare un modello personalizzato con il componente di inferenza di esempio:
-
Crea un componente del modello che utilizza un modello personalizzato in un bucket S3 come artefatto. Il modello personalizzato deve essere addestrato utilizzando lo stesso runtime del modello che si desidera sostituire.
-
Modifica il parametro
ModelResourceKey
di configurazione nel componente di inferenza per utilizzare il modello personalizzato. Per informazioni sull'aggiornamento della configurazione del componente di inferenza, vedere Modifica la configurazione di un componente di inferenza pubblica
Quando si distribuisce il componente di inferenza, AWS IoT Greengrass cerca la versione più recente delle dipendenze dei componenti. Sostituisce il componente del modello pubblico dipendente se nello stesso e è presente una versione personalizzata successiva del componente. Account AWS Regione AWS
-
Carica il tuo modello in un bucket S3. Per informazioni sul caricamento dei modelli in un bucket S3, consulta Working with Amazon S3 Buckets nella Amazon Simple Storage Service User Guide.
Nota
È necessario archiviare gli artefatti in bucket S3 che si trovano negli stessi componenti. Account AWS Regione AWS Per consentire l'accesso AWS IoT Greengrass a questi artefatti, il ruolo del dispositivo Greengrass deve consentire l'azione.
s3:GetObject
Per ulteriori informazioni sul ruolo del dispositivo, vedere. Autorizza i dispositivi principali a interagire con i servizi AWS -
Nel menu di navigazione della AWS IoT Greengrassconsole
, scegli Componenti. -
Recupera la ricetta del componente Public Model Store.
-
Nella pagina Componenti, nella scheda Componenti pubblici, cercate e scegliete il componente del modello pubblico per il quale desiderate creare una nuova versione. Ad esempio,
variant.DLR.ImageClassification.ModelStore
. -
Nella pagina del componente, scegli Visualizza ricetta e copia la ricetta JSON visualizzata.
-
-
Nella pagina Componenti, nella scheda I miei componenti, scegli Crea componente.
-
Nella pagina Crea componente, in Informazioni sui componenti, seleziona Inserisci la ricetta come JSON come origine del componente.
-
Nella casella Ricetta, incolla la ricetta del componente che hai copiato in precedenza.
-
Nella ricetta, aggiorna i seguenti valori:
-
ComponentVersion
: Incrementa la versione secondaria del componente.Quando create un componente personalizzato per sostituire un componente del modello pubblico, dovete aggiornare solo la versione secondaria della versione del componente esistente. Ad esempio, se la versione del componente pubblico è
2.1.0
, puoi creare un componente personalizzato con version2.1.1
. -
Manifests.Artifacts.Uri
: aggiorna ogni valore URI all'URI Amazon S3 del modello che desideri utilizzare.
Nota
Non modificare il nome del componente.
-
-
Scegliete Crea componente.
-
Carica il tuo modello in un bucket S3. Per informazioni sul caricamento dei modelli in un bucket S3, consulta Working with Amazon S3 Buckets nella Amazon Simple Storage Service User Guide.
Nota
È necessario archiviare gli artefatti in bucket S3 che si trovano negli stessi componenti. Account AWS Regione AWS Per consentire l'accesso AWS IoT Greengrass a questi artefatti, il ruolo del dispositivo Greengrass deve consentire l'azione.
s3:GetObject
Per ulteriori informazioni sul ruolo del dispositivo, vedere. Autorizza i dispositivi principali a interagire con i servizi AWS -
Eseguite il comando seguente per recuperare la ricetta del componente pubblico. Questo comando scrive la ricetta del componente nel file di output fornito nel comando. Convertite la stringa recuperata con codifica base64 in JSON o YAML, se necessario.
-
Aggiorna il nome del file di ricetta in
, dove la versione del componente è la versione di destinazione del nuovo componente. Ad esempio,<component-name>
-<component-version>
variant.DLR.ImageClassification.ModelStore-2.1.1.yaml
. -
Nella ricetta, aggiorna i seguenti valori:
-
ComponentVersion
: Incrementa la versione secondaria del componente.Quando create un componente personalizzato per sostituire un componente del modello pubblico, dovete aggiornare solo la versione secondaria della versione del componente esistente. Ad esempio, se la versione del componente pubblico è
2.1.0
, puoi creare un componente personalizzato con version2.1.1
. -
Manifests.Artifacts.Uri
: aggiorna ogni valore URI all'URI Amazon S3 del modello che desideri utilizzare.
Nota
Non modificare il nome del componente.
-
-
Esegui il seguente comando per creare un nuovo componente utilizzando la ricetta che hai recuperato e modificato.
aws greengrassv2 create-component-version \ --inline-recipe fileb://
path/to/component/recipe
Nota
Questo passaggio crea il componente nel AWS IoT Greengrass servizio in. Cloud AWS Puoi utilizzare la Greengrass CLI per sviluppare, testare e distribuire il componente localmente prima di caricarlo sul cloud. Per ulteriori informazioni, consulta Sviluppa AWS IoT Greengrass componenti.
Per ulteriori informazioni sulla creazione di componenti, vedere. Sviluppa AWS IoT Greengrass componenti
Crea componenti di machine learning personalizzati
È necessario creare componenti personalizzati se si desidera utilizzare un codice di inferenza personalizzato o un runtime per il quale AWS IoT Greengrass non è disponibile un componente di esempio. È possibile utilizzare il codice di inferenza personalizzato con i modelli e i runtime di apprendimento automatico di esempio AWS forniti oppure sviluppare una soluzione di inferenza di machine learning completamente personalizzata con modelli e runtime propri. Se i modelli utilizzano un runtime per il quale AWS IoT Greengrass è disponibile un componente di runtime di esempio, è possibile utilizzare tale componente di runtime e creare componenti personalizzati solo per il codice di inferenza e i modelli che si desidera utilizzare.
Argomenti
Recuperate la ricetta per un componente pubblico
È possibile utilizzare la ricetta di un componente pubblico di apprendimento automatico esistente come modello per creare un componente personalizzato. Per visualizzare la ricetta del componente per la versione più recente di un componente pubblico, usa la console o AWS CLI quanto segue:
-
Utilizzo della console
-
Nella pagina Componenti, nella scheda Componenti pubblici, cerca e scegli il componente pubblico.
-
Nella pagina del componente, scegli Visualizza ricetta.
-
-
Uso di AWS CLI
Esegui il comando seguente per recuperare la ricetta del componente della variante pubblica. Questo comando scrive la ricetta del componente nel file di ricetta JSON o YAML fornito nel comando.
Sostituisci i valori nel tuo comando come segue:
-
. L'Amazon Resource Name (ARN) del componente pubblico.<arn>
-
. Il formato in cui si desidera creare il file delle ricette. I valori supportati sono<recipe-format>
JSON
eYAML
. -
. Il nome della ricetta nel formato<recipe-file>
.<component-name>
-<component-version>
-
Recupera gli artefatti dei componenti di esempio
È possibile utilizzare gli artefatti utilizzati dai componenti pubblici di machine learning come modelli per creare artefatti di componenti personalizzati, come codice di inferenza o script di installazione in fase di esecuzione.
Per visualizzare gli artefatti di esempio inclusi nei componenti pubblici di machine learning, distribuisci il componente di inferenza pubblica e quindi visualizza gli artefatti sul tuo dispositivo nella cartella.
/packages/artifacts-unarchived//greengrass/v2
component-name
/component-version
/
Carica gli artefatti dei componenti in un bucket S3
Prima di poter creare un componente personalizzato, devi caricare gli artefatti del componente in un bucket S3 e utilizzare gli URI S3 nella ricetta del componente. Ad esempio, per utilizzare il codice di inferenza personalizzato nel componente di inferenza, carica il codice in un bucket S3. Puoi quindi utilizzare l'URI Amazon S3 del tuo codice di inferenza come artefatto nel tuo componente.
Per informazioni sul caricamento di contenuti in un bucket S3, consulta Working with Amazon S3 Bucket nella Amazon Simple Storage Service User Guide.
Nota
È necessario archiviare gli artefatti in bucket S3 che si trovano negli stessi componenti. Account AWS Regione AWS Per consentire l'accesso AWS IoT Greengrass a questi artefatti, il ruolo del dispositivo Greengrass deve consentire l'azione. s3:GetObject
Per ulteriori informazioni sul ruolo del dispositivo, vedere. Autorizza i dispositivi principali a interagire con i servizi AWS
Creare componenti personalizzati
Puoi utilizzare gli artefatti e le ricette recuperati per creare componenti di machine learning personalizzati. Per vedere un esempio, consulta Crea un componente di inferenza personalizzato.
Per informazioni dettagliate sulla creazione e la distribuzione di componenti sui dispositivi Greengrass, Sviluppa AWS IoT Greengrass componenti vedere e. Implementazione AWS IoT Greengrass dei componenti sui dispositivi
Crea un componente di inferenza personalizzato
Questa sezione mostra come creare un componente di inferenza personalizzato utilizzando il componente di classificazione delle immagini DLR come modello.
Argomenti
Carica il tuo codice di inferenza in un bucket Amazon S3
Crea il tuo codice di inferenza e poi caricalo in un bucket S3. Per informazioni sul caricamento di contenuti in un bucket S3, consulta Working with Amazon S3 Bucket nella Amazon Simple Storage Service User Guide.
Nota
È necessario archiviare gli artefatti in bucket S3 che si trovano negli stessi componenti. Account AWS Regione AWS Per consentire l'accesso AWS IoT Greengrass a questi artefatti, il ruolo del dispositivo Greengrass deve consentire l'azione. s3:GetObject
Per ulteriori informazioni sul ruolo del dispositivo, vedere. Autorizza i dispositivi principali a interagire con i servizi AWS
Crea una ricetta per il tuo componente di inferenza
-
Eseguite il comando seguente per recuperare la ricetta del componente di classificazione delle immagini DLR. Questo comando scrive la ricetta del componente nel file di ricetta JSON o YAML fornito nel comando.
Sostituisci
<recipe-file>con il nome della ricetta nel formato.
<component-name>
-<component-version>
-
ComponentDependencies
Nell'oggetto della ricetta, effettuate una o più delle seguenti operazioni a seconda del modello e dei componenti di runtime che desiderate utilizzare:-
Mantieni la dipendenza dai componenti DLR se desideri utilizzare modelli compilati con DLR. Potete anche sostituirlo con una dipendenza da un componente di runtime personalizzato, come illustrato nell'esempio seguente.
Componente di runtime
-
Mantieni la dipendenza dall'archivio del modello di classificazione delle immagini DLR per utilizzare i modelli ResNet -50 preaddestrati che AWS fornisce o modificalo per utilizzare un componente del modello personalizzato. Quando includete una dipendenza per un componente del modello pubblico, se nello stesso Account AWS componente esiste una versione personalizzata successivaRegione AWS, il componente di inferenza utilizza quel componente personalizzato. Specificate la dipendenza del componente del modello come illustrato negli esempi seguenti.
Componente del modello pubblico
Componente del modello personalizzato
-
-
Nell'
ComponentConfiguration
oggetto, aggiungete la configurazione predefinita per questo componente. È possibile modificare questa configurazione in un secondo momento quando si distribuisce il componente. Il seguente estratto mostra la configurazione dei componenti per il componente di classificazione delle immagini DLR.Ad esempio, se utilizzate un componente del modello personalizzato come dipendenza per il componente di inferenza personalizzato, modificatelo per
ModelResourceKey
fornire i nomi dei modelli che state utilizzando. -
Nell'
Manifests
oggetto, fornite informazioni sugli artefatti e sulla configurazione di questo componente che vengono utilizzati quando il componente viene distribuito su piattaforme diverse e qualsiasi altra informazione necessaria per eseguire correttamente il componente. Il seguente estratto mostra la configurazione dell'Manifests
oggetto per la piattaforma Linux nel componente di classificazione delle immagini DLR.
Per informazioni dettagliate sulla creazione delle ricette dei componenti, vedere. AWS IoT Greengrass riferimento alla ricetta del componente
Creare il componente di inferenza
Usa la AWS IoT Greengrass console o il AWS CLI per creare un componente usando la ricetta che hai appena definito. Dopo aver creato il componente, puoi distribuirlo per eseguire inferenze sul tuo dispositivo. Per un esempio di come implementare un componente di inferenza, vedi. Tutorial: eseguire l'inferenza della classificazione delle immagini di esempio utilizzando TensorFlow Lite
-
Accedi alla console AWS IoT Greengrass
. -
Nel menu di navigazione, scegli Componenti.
-
Nella pagina Componenti, nella scheda I miei componenti, scegli Crea componente.
-
Nella pagina Crea componente, in Informazioni sui componenti, seleziona Inserisci la ricetta come JSON o Inserisci la ricetta come YAML come origine del componente.
-
Nella casella Ricetta, inserisci la ricetta personalizzata che hai creato.
-
Fate clic su Crea componente.
Esegui il comando seguente per creare un nuovo componente personalizzato utilizzando la ricetta che hai creato.
aws greengrassv2 create-component-version \ --inline-recipe fileb://
path/to/recipe/file
Nota
Questo passaggio crea il componente nel AWS IoT Greengrass servizio inCloud AWS. Puoi utilizzare la Greengrass CLI per sviluppare, testare e distribuire il componente localmente prima di caricarlo sul cloud. Per ulteriori informazioni, consulta Sviluppa AWS IoT Greengrass componenti.