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à.
Interfaccia di input e output per l'algoritmo di classificazione immagine - TensorFlow
Ciascuno dei modelli preaddestrati elencati nei modelli TensorFlow Hub può essere ottimizzato per qualsiasi set di dati con un numero qualsiasi di classi di immagini. Fai attenzione a come formattare i dati di apprendimento per l'input nel modello di classificazione delle immagini - TensorFlow.
-
Formato di input dei dati di addestramento: i dati di addestramento devono essere una directory con tante sottodirectory quante sono le classi. Ogni sottodirectory deve contenere immagini che appartengono a quella classe in formato .jpg, .jpeg o .png.
Di seguito è riportato un esempio di struttura di directory di input. Questo set di dati di esempio ha due classi: roses e dandelion. I file di immagine in ogni cartella di classe possono avere qualsiasi nome. La directory di input deve essere ospitata in un bucket Amazon S3 con un percorso simile al seguente: s3://. Tieni presente che il simbolo bucket_name/input_directory// finale è obbligatorio.
input_directory |--roses |--abc.jpg |--def.jpg |--dandelion |--ghi.jpg |--jkl.jpg
I modelli addestrati generano file di mappatura delle etichette che mappano i nomi delle cartelle delle classi agli indici nell'elenco delle probabilità delle classi di output. Questa mappatura è in ordine alfabetico. Ad esempio, nell'esempio precedente, la classe dente di leone è l'indice 0 e la classe rose è l'indice 1.
Dopo l'addestramento, si dispone di un modello perfezionato che è possibile addestrare ulteriormente utilizzando l'addestramento incrementale o implementarlo per l'inferenza. L'algoritmo di classificazione delle immagini - TensorFlow aggiunge automaticamente una firma di pre-elaborazione e post-elaborazione al modello perfezionato in modo che possa acquisire le immagini come input e restituire le probabilità della classe. Il file di mappatura degli indici delle classi alle etichette delle classi viene salvato insieme ai modelli.
Addestramento incrementale
Puoi avviare l’addestramento di un nuovo modello con gli artefatti di un modello che hai sottoposto ad addestramento in precedenza con SageMaker AI. L'addestramento incrementale consente di risparmiare tempo quando vuoi sottoporre ad addestramento un nuovo modello con dati uguali o simili.
Nota
Puoi avviare l’addestramento di un modello di Classificazione delle immagini - TensorFlow di SageMaker solo con un altro modello di Classificazione delle immagini - TensorFlow addestrato in SageMaker AI.
Puoi utilizzare qualsiasi set di dati per l'addestramento incrementale, purché il set di classi rimanga lo stesso. La fase di addestramento incrementale è simile alla fase di ottimizzazione, ma invece di iniziare con un modello preaddestrato, si inizia con un modello ottimizzato esistente. Per un esempio di addestramento incrementale con l’algoritmo Classificazione delle immagini - TensorFlow di SageMaker AI, consulta il notebook di esempio Introduzione a SageMaker TensorFlow - Classificazione delle immagini
Inferenza con l'algoritmo di classificazione delle immagini - TensorFlow
Puoi ospitare il modello ottimizzato che risulta dall’addestramento della classificazione delle immagini TensorFlow per l'inferenza. Qualsiasi immagine di input per l'inferenza deve essere in formato .jpg, jpeg o .png ed essere di tipo di contenuto application/x-image. L'algoritmo di classificazione delle immagini - TensorFlow ridimensiona automaticamente le immagini di input.
L'esecuzione dell'inferenza produce valori di probabilità, etichette di classe per tutte le classi e l'etichetta prevista corrispondente all'indice di classe con la probabilità più alta codificato in formato JSON. Il modello di classificazione delle immagini - TensorFlow elabora una singola immagine per richiesta e quindi emette solo una riga. Di seguito è riportato un esempio di risposta in formato JSON:
accept: application/json;verbose {"probabilities": [prob_0, prob_1, prob_2, ...], "labels": [label_0, label_1, label_2, ...], "predicted_label": predicted_label}
Se accept è impostato su application/json, il modello emette solo le probabilità. Per ulteriori informazioni sull’addestramento e l’inferenza con l'algoritmo di classificazione delle immagini - TensorFlow, consulta il notebook di esempio Introduzione a SageMaker TensorFlow - Classificazione delle immagini