• 🏡 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

recommender-systems-memory-based-model-based-content-based-collective-filtering-machine-learning-data-science-blog

Recommender Systems

Novembre 14, 2019

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

Dicembre 17, 2018

Stripe: Semplice Form Pagamento React (client) | Guida Italiano

Ottobre 12, 2019
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • Blockchain Developer

    Circuito aritmetico

    Novembre 1, 2022
  • machine-learning

    Un nuovo inizio

    Settembre 4, 2021
  • Zero Knwoledge Proof Article Privacy Preserving

    Zero Knowledge Proof: zk-SNARK e zk-STARK | Prova a conoscenza zero

    Luglio 8, 2021
  • oblivious-transfer-spiegazione-italiano-ot-explanation Privacy Preserving

    Oblivious Transfer (OT)

    Luglio 6, 2021
  • Aleo Studio Website Preview machine-learning

    Aleo Studio: un IDE per Zero-Knowledge Proofs Applications

    Luglio 1, 2021
  • privacy-enhancing-technologies-data-machine-learning-data-science Privacy Preserving

    Perché il Privacy Tech è un vantaggio competitivo micidiale

    Giugno 17, 2021
  • bloom-filter-spiegazione-italian Privacy Preserving

    Bloom Filter

    Giugno 3, 2021
  • trusted-execution-environment-tee-data-science-come-fuziona Data Science, Privacy Preserving

    Trusted Execution Environment | Cos’è un TEE?

    Giugno 2, 2021
  • Crypto Custody services machine-learning

    Crypto Custody: Guida alla custodia delle criptomonete

    Maggio 26, 2021
  • deep-q-learning-q-learning-reinforcement-learning machine-learning

    Deep Q-Learning

    Aprile 27, 2021

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino