Salta al contenuto

L'apprendimento automatico a livello di produzione: utilizzando Keras, Flask, Docker e Heroku per la distribuzione

Guidingoti passo dopo passo nella costruzione di un progetto di Macchine/Apprendimento Profondo adatto per l'uso reale. Il nostro obiettivo è sviluppare una piattaforma Web in cui gli utenti possono inviare immagini e quindi assistere all'unfolding di alcuni incantesimi di Apprendimento...

Apprendimento automatico a livello di produzione con Keras, Flask, Docker e Heroku
Apprendimento automatico a livello di produzione con Keras, Flask, Docker e Heroku

L'apprendimento automatico a livello di produzione: utilizzando Keras, Flask, Docker e Heroku per la distribuzione

In questa guida, esploreremo il processo di creazione di un'applicazione di riconoscimento immagini utilizzando Flask, un popolare micro framework web in Python, Docker per un facile deployment e Heroku per l'hosting in cloud. Il progetto, denominato "Perfect-Roadmap-To-Learn-Data-Science-In-2025", è opera dell'utente "krishnaik06" e può essere trovato su GitHub.

Per iniziare, scarica e installa Docker sul tuo sistema. Una volta installato, crea un Dockerfile per costruire l'immagine Docker per il tuo progetto. I codici utilizzati in questa guida sono disponibili nel repository GitHub dell'autore.

Il progetto utilizzerà TensorFlow e Keras per la codifica, insieme a funzioni per il pre-elaborazione delle immagini di input. Per gestire i upload di file e servire i file caricati, utilizzeremo Flask-Uploads. L'applicazione verrà distribuita utilizzando Docker, creando un ambiente riproducibile per il deployment.

Il progetto utilizzerà un modello di Rete Neurale Convoluzionale pre-allenato, specificamente VGG-19, per la classificazione delle immagini. Il modello pre-allenato VGG-19 può essere scaricato dal database ImageNet, un vasto database contenente oltre un milione di immagini e in grado di classificare le immagini in 1000 categorie di oggetti.

Una volta costruita l'immagine Docker, crea una nuova app Heroku. Costruisci l'immagine in base al Dockerfile e spingila sull'app di Heroku. Crea un file requirements.txt nella directory principale e compilalo con i pacchetti per il progetto.

Dopo aver spinto l'immagine su Heroku, apri l'applicazione utilizzando un comando. Accedi al tuo account Heroku e al Container Registry per gestire la tua applicazione. Esegui il contenitore in background e stampa l'ID del contenitore utilizzando un comando del terminale.

L'API si aspetta una richiesta HTTP POST con un'immagine allegata. L'immagine verrà salvata, pre-elaborata utilizzando le funzioni definite e il contenuto riconosciuto utilizzando il modello pre-allenato. La previsione verrà quindi restituita all'utente.

Questa guida si propone di esplorare i mattoni di un progetto di Machine/Deep Learning in produzione, con l'obiettivo di creare una interfaccia web per il riconoscimento delle immagini. Il modello pre-allenato può essere utilizzato come punto di partenza per compiti specifici come la classificazione delle immagini nel campo della salute o in una fabbrica, con l'opzione di utilizzare l'apprendimento

Leggi anche:

Più recente