• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
Logs

MAX Image Segmenter Web App | Log

MAX Image Segmenter Web App | Log

MAX Image Segmenter è un sistema che sfrutta un modello open source di deep learning capace d’individuare differenti tipologie di oggetti, segmentare le loro forme e permetterci d’interagire con loro.

Ma davvero?

Oh yes, i log sono tornati.

Cosa sono i log da 0 a 0,001?

La nostra avventura!

MAX Image Segmenter: Description

IBM ha una ricca collezione di modelli open source chiamata Model Asset eXchange (MAX). Uno di questi è in grado di automatizzare il processo di estrazione di oggetti da singole immagini, permettendoci di ridurre drasticamente il tempo necessario per l’editing foto: è il MAX Inage Segmenter

Andremo ad avviare un’applicazione web (Web App) capace d’identificare oggetti pixel-by-pixel.

Ogni unico oggetto sarà poi evidenziato da un colore univoco, e andremo quindi a realizzarne una mappa-colori.

Realizzando quella che viene in gergo detta segmentazione semantica, e per cui abbiamo tanto dannato in passato, saremo in grado di considerare ogni oggetto come immagine indipendente potendola inserire in ogni altra foto.

Fantastico gente. Come diamine avviamo il tutto?

Il nostro punto di partenza, come spesso accade per i log, è una fantastica repository di GitHub.

Guida vs Log

Qualora fossi nuovo, o nuova, benvenuto e benvenuta!

Quello che stai leggendo è un log e non una guida. Qual è la differenza?

Lascia che ti spieghi una piccolissima cosa, cruciale, perché ci tengo molto a te, e non vorrei vederti triste o in preda alla frustrazione.

Nel tentativo di riprodurre i miei passi, potresti non riuscire a completare il progetto, rendendolo cioè funzionante.

Questo perché a differenza di una guida, in cui ci prendiamo il tempo per capire bene cosa deve essere fatto e in che modo, un log è la becera trascrizione di azioni che compio, e potrebbe mancare di step fondamentali che ho eseguito sul mio computer in precedenza.

Ho ideato i log per fati capire quanta fatica possa celarsi dietro un semplice progetto!

Rappresentano il dietro le quinte di uno spettacolo teatrale: la guida vera e propria, a breve pubblicata… forse 🙂

Non è detto che l’impresa riesca.

Sarà memorabile.

Basta indugiare, iniziamo

MAX Image Segmenter: docker, react, tensorflow, Node e python??

Bestiale ragazzi.

Ho un’euforia che fatica a contenersi. Sono le tecnologie più all’avanguardia sul mercato, usate da grandi aziende e che attualmente muovono buona parte delle applicazioni web su scala globale.

Tutte qui, riunite in un’unica web app.

Dato che siamo a 400 parole e ancora dobbiamo iniziare, comincio a tagliare corto.

Per prima cosa procediamo con l’attivazione di docker.

Ottimo era già avviato.

Cloniamo la GitHub repository:

https://github.com/IBM/MAX-Image-Segmenter-Web-App.git

E ci spostiamo al suo interno.

Iniziano le danze!

Avviamo la prima immagine di docker:

docker run -it -p 5000:5000 -e CORS_ENABLE=true codait/max-image-segmenter

In questo modo avviamo il MAX microservice

La documentazione ci avvisa che la creazione dell’immagine genera automaticamente una Swagger API documentation interattiva

Ok, l’indirizzo è inquietante: http://0.0.0.0:5000/

In realtà indica che qualsiasi indirizzo è valido purché sia sulla porta 5000.

E via così niente documentazione non si riesce a caricare…

Seguiamo la guida aprendo un’altra shell e lanciando un npm install

Adesso dovremmo avviare l’applicazione.

Si salvi chi può!

Ma vacca viola.

Scusa Seth!

Manca il db… pouchdb

No manca tutto diamine!

Vuoi avere tutte le versioni aggiornate? Sto gayser, serve python compreso tra 2.7 e 3.0 e invece noi abbiamo la 3.7… Ecco perché manco la documentazione interattiva riusciamo a far partire (anche se potrebbe non dipendere da questo)

Scarichiamo l’ultima versione aggiornata di python 2.7

E la installiamo.

Giusto perché ci rimangono 60 GB di spazio sul SSD. Ho più memoria libera sullo smartphone… assurdo.

Ora chissà dove cavolo finirà l’installazione… a breve lo scopriamo.

Prepariamoci a lanciare nuovamente npm i. Stiamo compilando una marea di file…

Niente da fare, ancora una miriade di errori. Aggiorniamo pouch db e poi avviamo tramite docker

Ed effettivamente mancava puchdb

Il mio dubbio però è che il server comunque non risponda…

Proviamo.

Ah Ah.

Abbiamo una connection refused su http://localhost:5000/model/predict

Fantastico il nostro amato server è down.

Dobbiamo risolvere.

Back al back-end

Ci rimane il 30% di batteria e windows ci avvisa che lo finiremo in 30 minuti.

Ma ottimo.

Stiamo buildando una nuova docker image

Capsita siamo dei geni abbiamo avviato due volte la stessa app, una però dentro docker…

Altro giro altra corsa, proviamo con docker compose: avvieremo fron-end e back end in un unica app e poi cercheremo di capire cosa non funziona.

I log sono così: a testa dura per farlo partire!

Ho dvouto lanciare un netcfg -d a causa di un possibile vSwitch attivo e riavviare il computer.

Vediamo.

Docker sta partendo.

Ahimé nulla da fare per oggi!

Aggiornamento del 19/10/2019:

Ovviamente ci siamo riusciti!

Ora qualche picco exploit che abbiamo dovuto seguire.

Per prima cosa docker ha un funzionamento particolare che andrebbe approfondito, specie a livello di networking.

L’unica cosa importante è sapere che l’indirizzo 0.0.0.0 non funziona a dovere, o probabilmente andrebbe gestito in altro modo. Quindi come ci siamo collegati?

Questa mattina, aprendo il computer, l’istanza di docker era stata sospesa per inattività e era saltato fuori un port mapping particolare:

192.168.99.1:52362->192.168.99.100:2376

Effettuando qualche ulteriore ricerca, mi sono imbattuto in alcuni post riguardanti il nostro problema ed è saltato fuori che Docker Toolbox avvia le istanze sulll’indirizzo 192.168.99.100

Quindi è bastato connettersi alla porta 500 et voila: la pagina con le API di swagger!

Nei prossimi giorni arriveranno nuovi aggiornamenti!

Stay tuned!

Un caldo abbraccio, Andrea.

No, questo contenuto è riservato.
Non ci puoi accedere

E’ destinato a una ristretta lista di persone motivate e intraprendenti.

E’ diritto esclusivo di sognatori e curiosi.

Come? Pensi di essere una di loro?

Dimostramelo…

accetto i noiosi termini e le condizioni

Written by Andrea Provino - Ottobre 18, 2019
Tags | deep learning, logs, machine learning, web development

You Might Also Like

enigma-cripthography-cypbersecurity-data-science-machine-learning-homomorphic-encryption-additive-secret-sharing-deep-learning-privacy-preserving

Introduzione alla Crittografia (Cryptography) | Differential Privacy

Maggio 2, 2020

Tensorflow Transfer Learning | Log 7 da 0 a 0,001

Dicembre 17, 2018

Big Mart Sales: Report preliminare | Towards Data Science

Gennaio 9, 2019
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • rust-react-webassembly-privacy-preserving-machine-learning Logs

    Rust, WebAssembly, React e un MVP

    Dicembre 21, 2020
  • diffie-hellman-key-exchange-protocol-scambio-di-chiavi-diffie-hellman Data Science, Privacy Preserving

    Cos’è lo scambio di chiavi Diffie-Hellman (DH)? | Privacy Preserving

    Dicembre 15, 2020
  • principio-di-esattezza-data-science-machine-learning-gdpr-data-accuracy Data Science, GDPR Compliant

    GDPR: Principio di esattezza dei dati (Data Accuracy)

    Dicembre 12, 2020
  • tensorflow-extended-tfx-deploy-machine-learning-guide-machine-learning-pipelines machine-learning

    TFX: come funziona Tensorflow Extended?

    Dicembre 9, 2020
  • tensorflow-extended-tfx-deploy-machine-learning-guide-machine-learning-pipelines machine-learning

    TensorFlow Extended (TFX) | Production Machine Learning Pipeline

    Dicembre 6, 2020
  • mean-shift-clustering-guida-italiano-spiegazione-semplice-algoritmo-di-clustering-esempio Data Science

    Mean-Shift Clustering

    Dicembre 3, 2020
  • data-minimization-principle-gdpr-principio-minimizzazione-dati-personali-gdpr-italia-consulenza-spiegazione-semplice Data Science, GDPR Compliant

    GDPR: Principio di minimizzazione dei dati (Data minimization)

    Dicembre 1, 2020
  • machine-learning-for-finance-trading-online-data-science-deep-learning-intelligenza-artificiale AI, machine-learning

    FinTech: Machine Learning for Finance (FinML) | Guide e Risorse di qualità

    Novembre 29, 2020
  • gdpr-principio-di-limitazione-della-finalita-machine-learning-data-science-guida-prupose-limitation-gdpr Data Science, GDPR Compliant

    GDPR: Principio di Limitazione della finalità | Purpose Limitation

    Novembre 26, 2020
  • machine-learning-engineer-lavoro-stipendio-responsabilità-come-diventare AI, Business, machine-learning

    Machine Learning Engineer

    Novembre 23, 2020

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino