SlideShare a Scribd company logo
Custom Vision e
Win.ml per le nostre
app intelligenti offline
Alessio Iafrate - Microsoft MVP & Freelance Developer
Thanks to
Di cosa parleremo oggi
Introduzione al Machine Learning
WinML
Custom Vision
Come ottenere un modello di ML
Come utilizzarlo nelle nostre applicazioni
A
G
E
N
D
A
Alcuni problemi sono di difficile soluzione con
algoritmi tradizionali e i normali linguaggi di
programmazione.
A
G
E
N
D
A
AI può risolvere problemi complessi
Smart Ink​
• Classificare le line come testo,
forme o disegni
• Classificare il testo in parole,
paragrafi, liste​
• Estrarre delle entità: numeri di
telefono, nomi e date
• Associare dei significati come
riferimenti alle date, contatti
conosciuti
Dati catalogati Training dei dati
Azure Databricks Azure Machine Learning
Quickly launch and scale Spark on demand
Rich interactive workspace and notebooks
Seamless integration with all Azure data
services
Broad frameworks and tools support:
TensorFlow, Cognitive Toolkit, Caffe2, Keras,
MxNET, PyTorch
Elaborazione
In Cloud – On the edge
Docker containers
Windows Machine Learning
Il ciclo dell’AI
ScalabilitàBassa latenza Flessibilità
AI on the edge, perchè
Windows ML
Gli sviluppatori possono focalizzarsi sui dati e gli
scenari, utilizzando Windows ML come motore
per la valutazione del modello
E’ possible utilizzare modelli addestrati con
diversi tipi di toolkits
La possibilità di utilizzare l’accelerazione
Hardware permette di ottere risultati di
elaborazione sfruttando tutta la potenza della
macchina
Direct3D
GPU
CPU
DirectML
Model Inference Engine
WinML Win32 API
WinML UWP API
Win32 App
WinML Runtime
UWP App
A
G
E
N
D
A
Azure Machine Learning Services una soluzione end-to-end per preparare e dati ed addestrare il
proprio modello nel Cloud.
WinMLTools che può convertire modelli esistenti da CoreML, scikit-learn, LIBSVM, and XGBoost
Azure Custom Vision che permette di creare i propri modelli a partire da una galleria di immagini
- https://customvision.ai/
Azure AI Gallery con un elenco di modelli già pronti da utilizzare con Windows ML -
https://gallery.azure.ai/models
Possiamo esplorare i modelli ONNX con https://lutzroeder.github.io/netron/
Come ottenere un modello ONNX?
Cognitive Services
Custom Vision
Custom vision
Utilizziamo il nostro modello
Addestramento
del nostro
modello
Estrazione del
file onnx
Realizziamo la
nostra
applicazione
Utilizziamo
Win.ML
Analizziamo il
risultato
Visual studio 2017 (Qualsiasi versione)
Windows 10 October 2018 Update (ONNX 1.2)
Windows 10 SDK (Build >=17738)
NB: Windows 10 RS4 utilizza WinML in versione Preview (ONNX 1.0!!!)
La lista della spesa
Come iniziare
Drag&Drop del file ONNX all’interno della
solution, in questo modo Visual Studio creerà
per noi la classe per la gestione del modello
Concetti fondamentali
Discovery
automatico dei
parametri
•Input
•Output
•Gestione Model
3 Classi
•CreateFromStreamAsync
•EvaluateAsync2 Metodi
•ImageFeatureValue.CreateFromVideoFrameClassi di utilità
Demo applicazione
Riferimenti
https://customvision.ai/
https://onnx.ai/
https://github.com/onnx/onnx
https://gallery.azure.ai/models
Repository demo
https://github.com/a-iafrate/azdayrm19_cvwinml
Thank You!!!
Question time
Thanks to

More Related Content

Similar to Custom Vision e Win.ml per le nostre app intelligenti offline

Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
Igor Antonacci
 
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
Marco Parenzan
 
Team Netuse & IBM - Il Cloud Native rende agile il tuo business.
Team Netuse & IBM -  Il Cloud Native rende agile il tuo business.Team Netuse & IBM -  Il Cloud Native rende agile il tuo business.
Team Netuse & IBM - Il Cloud Native rende agile il tuo business.
Team Netuse srl
 
Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...
Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...
Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...
Marco Parenzan
 
Smau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazioneSmau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazione
SMAU
 
WPF 4 fun
WPF 4 funWPF 4 fun
WPF 4 fun
DotNetMarche
 
IBM Bluemix
IBM BluemixIBM Bluemix
Costruire Applicazioni intelligenti che apprendono e si adattano
Costruire Applicazioni intelligenti che apprendono e si adattanoCostruire Applicazioni intelligenti che apprendono e si adattano
Costruire Applicazioni intelligenti che apprendono e si adattano
Domenico Irilli
 
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Stefano Dindo
 
OpenDay 3 TIM WCap - 05/05/2016
OpenDay 3 TIM WCap - 05/05/2016OpenDay 3 TIM WCap - 05/05/2016
OpenDay 3 TIM WCap - 05/05/2016
Gaetano Paternò
 
Digital 1nn0vation saturday pn 2019 - Azure Machine Learning Service
Digital 1nn0vation saturday pn 2019 - Azure Machine Learning ServiceDigital 1nn0vation saturday pn 2019 - Azure Machine Learning Service
Digital 1nn0vation saturday pn 2019 - Azure Machine Learning Service
Marco Zamana
 
NEXiDA Smart User Interface flyer (italian)
NEXiDA Smart User Interface flyer (italian)NEXiDA Smart User Interface flyer (italian)
NEXiDA Smart User Interface flyer (italian)
Claudio Rubbiani
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
Marco Parenzan
 
Azure Cognitive Service (Eduard Capanu).pptx
Azure Cognitive Service (Eduard Capanu).pptxAzure Cognitive Service (Eduard Capanu).pptx
Azure Cognitive Service (Eduard Capanu).pptx
EduardCapanu
 
Mob04 best practices for windows phone ui design
Mob04   best practices for windows phone ui designMob04   best practices for windows phone ui design
Mob04 best practices for windows phone ui designDotNetCampus
 
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili NativeUn Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
Gregorio Perego
 
IAMdev @ TECH JOBS fair 2018 Pisa
IAMdev @ TECH JOBS fair 2018 PisaIAMdev @ TECH JOBS fair 2018 Pisa
IAMdev @ TECH JOBS fair 2018 Pisa
TECH JOBS fair
 
Gam04 introduzione a-netduino_final
Gam04   introduzione a-netduino_finalGam04   introduzione a-netduino_final
Gam04 introduzione a-netduino_finalDotNetCampus
 
Introduzione a Microsoft Azure
Introduzione a Microsoft AzureIntroduzione a Microsoft Azure
Introduzione a Microsoft Azure
Roberto Albano
 

Similar to Custom Vision e Win.ml per le nostre app intelligenti offline (20)

Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
 
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
 
Team Netuse & IBM - Il Cloud Native rende agile il tuo business.
Team Netuse & IBM -  Il Cloud Native rende agile il tuo business.Team Netuse & IBM -  Il Cloud Native rende agile il tuo business.
Team Netuse & IBM - Il Cloud Native rende agile il tuo business.
 
Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...
Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...
Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...
 
Smau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazioneSmau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazione
 
WPF 4 fun
WPF 4 funWPF 4 fun
WPF 4 fun
 
IBM Bluemix
IBM BluemixIBM Bluemix
IBM Bluemix
 
Costruire Applicazioni intelligenti che apprendono e si adattano
Costruire Applicazioni intelligenti che apprendono e si adattanoCostruire Applicazioni intelligenti che apprendono e si adattano
Costruire Applicazioni intelligenti che apprendono e si adattano
 
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
 
OpenDay 3 TIM WCap - 05/05/2016
OpenDay 3 TIM WCap - 05/05/2016OpenDay 3 TIM WCap - 05/05/2016
OpenDay 3 TIM WCap - 05/05/2016
 
Digital 1nn0vation saturday pn 2019 - Azure Machine Learning Service
Digital 1nn0vation saturday pn 2019 - Azure Machine Learning ServiceDigital 1nn0vation saturday pn 2019 - Azure Machine Learning Service
Digital 1nn0vation saturday pn 2019 - Azure Machine Learning Service
 
NEXiDA Smart User Interface flyer (italian)
NEXiDA Smart User Interface flyer (italian)NEXiDA Smart User Interface flyer (italian)
NEXiDA Smart User Interface flyer (italian)
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
 
Azure Cognitive Service (Eduard Capanu).pptx
Azure Cognitive Service (Eduard Capanu).pptxAzure Cognitive Service (Eduard Capanu).pptx
Azure Cognitive Service (Eduard Capanu).pptx
 
Mob04 best practices for windows phone ui design
Mob04   best practices for windows phone ui designMob04   best practices for windows phone ui design
Mob04 best practices for windows phone ui design
 
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili NativeUn Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
 
IAMdev @ TECH JOBS fair 2018 Pisa
IAMdev @ TECH JOBS fair 2018 PisaIAMdev @ TECH JOBS fair 2018 Pisa
IAMdev @ TECH JOBS fair 2018 Pisa
 
Gam04 introduzione a-netduino_final
Gam04   introduzione a-netduino_finalGam04   introduzione a-netduino_final
Gam04 introduzione a-netduino_final
 
Introduzione a Microsoft Azure
Introduzione a Microsoft AzureIntroduzione a Microsoft Azure
Introduzione a Microsoft Azure
 

More from Alessio Iafrate

Workshop sulle spatial anchors
Workshop sulle spatial anchorsWorkshop sulle spatial anchors
Workshop sulle spatial anchors
Alessio Iafrate
 
Realtà aumentata ed Azure, un binomio imbattibile
Realtà aumentata ed Azure, un binomio imbattibileRealtà aumentata ed Azure, un binomio imbattibile
Realtà aumentata ed Azure, un binomio imbattibile
Alessio Iafrate
 
What's new in Visual Studio 2019
What's new in Visual Studio 2019What's new in Visual Studio 2019
What's new in Visual Studio 2019
Alessio Iafrate
 
Come utilizzare il bot framework
Come utilizzare il bot frameworkCome utilizzare il bot framework
Come utilizzare il bot framework
Alessio Iafrate
 
Da A a Bot con un pizzico di Cognitive
Da A a Bot con un pizzico di CognitiveDa A a Bot con un pizzico di Cognitive
Da A a Bot con un pizzico di Cognitive
Alessio Iafrate
 
Xamarin forms
Xamarin formsXamarin forms
Xamarin forms
Alessio Iafrate
 
Windows 10 e Universal Windows Platform
Windows 10 e Universal Windows PlatformWindows 10 e Universal Windows Platform
Windows 10 e Universal Windows Platform
Alessio Iafrate
 
Introduzione alle Universal App
Introduzione alle Universal AppIntroduzione alle Universal App
Introduzione alle Universal App
Alessio Iafrate
 

More from Alessio Iafrate (8)

Workshop sulle spatial anchors
Workshop sulle spatial anchorsWorkshop sulle spatial anchors
Workshop sulle spatial anchors
 
Realtà aumentata ed Azure, un binomio imbattibile
Realtà aumentata ed Azure, un binomio imbattibileRealtà aumentata ed Azure, un binomio imbattibile
Realtà aumentata ed Azure, un binomio imbattibile
 
What's new in Visual Studio 2019
What's new in Visual Studio 2019What's new in Visual Studio 2019
What's new in Visual Studio 2019
 
Come utilizzare il bot framework
Come utilizzare il bot frameworkCome utilizzare il bot framework
Come utilizzare il bot framework
 
Da A a Bot con un pizzico di Cognitive
Da A a Bot con un pizzico di CognitiveDa A a Bot con un pizzico di Cognitive
Da A a Bot con un pizzico di Cognitive
 
Xamarin forms
Xamarin formsXamarin forms
Xamarin forms
 
Windows 10 e Universal Windows Platform
Windows 10 e Universal Windows PlatformWindows 10 e Universal Windows Platform
Windows 10 e Universal Windows Platform
 
Introduzione alle Universal App
Introduzione alle Universal AppIntroduzione alle Universal App
Introduzione alle Universal App
 

Custom Vision e Win.ml per le nostre app intelligenti offline