Getting Started with
Machine Learning .Net and
Windows Machine Learning
[ ML.Net & WinML ]
Bruno Capuano
Innovation Lead @Avanade
@elbruno | http://elbruno.com
why should I care about AI and ML?
As a developer,
Some problems are difficult to solve using traditional algorithms and
procedural programming.
IBM slaps patent on coffee-delivering drones that can read
your MIND (link)
IBM slaps patent on coffee-delivering drones that can read
your MIND (link)
“It has exquisite buttons …
with long sleeves …works for
casual as well as business
settings”{f(x) {f(x)
Machine Learning: “Programming the Unprogrammable”
f(x)
Model
Machine Learning creates a
Using this data
Machine Learning: “Programming the UnProgrammable”
Is this A or B? How much? How many? How is this organized?
Regression ClusteringClassification
Machine Learning Tasks
Get started with Machine Learning
Prepare Data Build & Train Evaluate
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
In the cloud – on the edge
Docker containers
Windows Machine Learning
Hello WinML !
MakeMagicHappen();
https://www.avanade.com/AI
Windows ML uses ONNX models
Azure Machine Learning Services
gives you an end-to-end
solution to prepare data and
train your model in the Cloud.
WinMLTools converts existing
models from CoreML, scikit-
learn, LIBSVM, and XGBoost
Azure Custom Vision makes it
easy to create your own image
models - https://customvision.ai/
Azure AI Gallery curates models
for use with Windows ML -
https://gallery.azure.ai/models
How do I get ONNX models to use in my
application?
1. Developers can focus on their data and
their scenarios, using Windows ML for
model evaluation
2. Enables using ML models trained with a
diverse set of toolkits
3. Hardware acceleration gets fast evaluation
results across the diversity of the entire
Windows device ecosystem.
Windows ML solves three problems for you
Direct3D
GPU
CPU
DirectML
Model Inference Engine
WinML Win32 API
WinML UWP API
Win32 App
WinML Runtime
UWP App
Machine Learning.Net
DESKTOP CLOUDWEB MOBILE ML
.NET
Your platform for building anything
IoTGAMING
Easy / Less Control Full Control / Harder
Vision Speech Language
Knowledge SearchLabs
TextAnalyticsAPI client = new TextAnalyticsAPI();
client.AzureRegion = AzureRegions.Westus;
client.SubscriptionKey = "1bf33391DeadFish";
client.Sentiment(
new MultiLanguageBatchInput(
new List<MultiLanguageInput>()
{
new MultiLanguageInput("en","0",
"This vacuum cleaner sucks so much dirt")
}));
e.g. Sentiment Analysis using Azure Cognitive Services
9% positive
Pre-built ML Models (Azure Cognitive Services)
ML.NET is for building custom models
Custom models
Easier / Less Control Harder / Full Control
Pre-built models
TensorFlow
ML.NETVisionSpeech LanguageKnowledge Search
Prepare Your Data Build & Train Run
Build your own custom machine learning models
ML.Net
Hello World
MakeMagicHappen();
https://www.microsoft.com/net/learn/apps/machi
ne-learning-and-ai
Is this A or B? Kid or Baby
Based on the age:
Kid or Baby
Age classes explained
And more! Samples @ https://github.com/dotnet/machinelearning-samples
Customer segmentation
Recommendations
Predictive maintenance
Forecasting
Issue Classification
Image classification
Object detection
Sentiment Analysis
A few things you can do with ML.NET …
Proven & Extensible Open Source
https://github.com/dotnet/machinelearning
Build your own
Supported on Windows, Linux, and macOS
Developer Focused
ML.NET 0.8.0 (Preview)
Machine Learning framework made for .NET developers
Windows 10 (Windows Defender)
Power Point (Design Ideas)
Excel (Chart Recommendations)
Bing Ads (Ad Predictions)
+ moreAzure Stream Analytics (Anomaly Detection)
ML.NET is Proven at scale, enterprise ready
ML.NET is a framework for building custom ML Models
Machine Learning.Net
How to use ML.Net
Less Control / Easy
Existing Solutions
Build your own (custom) ML Models
ML.Net
Working with 2 or more
columns
MakeMagicHappen();
https://www.microsoft.com/net/learn/apps/machi
ne-learning-and-ai
Load Data
Extract
Features
Model
Consumption
Train
Model
Evaluate
Model
Prepare Your Data Build & Train Run
Machine learning workflow
Load Data Extract Features Train Model Evaluate Model
Model
consumption
labels + plain text labels + feature vectors model
End to End ML Workflow
Load Data Extract Features Train Model Evaluate Model
Model
consumption
labels + plain text labels + feature vectors
Enter...
in ML.NETLearningPipelines!
model
End to End ML Workflow
Load Data Extract Features Train Model Evaluate Model
Model
consumption
Machine Learning is Iterative
Machine Learning.Net
Demo scenarios
ML.Net
GitHub Issue Automatic Label
MakeMagicHappen();
https://github.com/elbruno
ML.Net, working with
TensorFlow frozen models
MakeMagicHappen();
https://www.microsoft.com/net/learn/apps/machi
ne-learning-and-ai
• API improvements
• Additional ML Tasks and Scenarios
• Improved Deep Learning with TensorFlow
• Scale-out on Azure
• Better GUI to simplify ML tasks
• Improved tooling in Visual Studio
• Improvements for F#
• Language Innovation for .NET
Road Ahead for ML.NET
Bruno Capuano
Innovation Lead @Avanade
@elbruno | http://elbruno.com
Q&A
Thanks!

2018 12 18 Tech Valley UserGroup Machine Learning.Net

  • 1.
    Getting Started with MachineLearning .Net and Windows Machine Learning [ ML.Net & WinML ] Bruno Capuano Innovation Lead @Avanade @elbruno | http://elbruno.com
  • 2.
    why should Icare about AI and ML? As a developer,
  • 3.
    Some problems aredifficult to solve using traditional algorithms and procedural programming.
  • 4.
    IBM slaps patenton coffee-delivering drones that can read your MIND (link)
  • 5.
    IBM slaps patenton coffee-delivering drones that can read your MIND (link)
  • 6.
    “It has exquisitebuttons … with long sleeves …works for casual as well as business settings”{f(x) {f(x) Machine Learning: “Programming the Unprogrammable”
  • 7.
    f(x) Model Machine Learning createsa Using this data Machine Learning: “Programming the UnProgrammable”
  • 8.
    Is this Aor B? How much? How many? How is this organized? Regression ClusteringClassification Machine Learning Tasks
  • 9.
    Get started withMachine Learning Prepare Data Build & Train Evaluate 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 In the cloud – on the edge Docker containers Windows Machine Learning
  • 10.
  • 11.
    Windows ML usesONNX models
  • 12.
    Azure Machine LearningServices gives you an end-to-end solution to prepare data and train your model in the Cloud. WinMLTools converts existing models from CoreML, scikit- learn, LIBSVM, and XGBoost Azure Custom Vision makes it easy to create your own image models - https://customvision.ai/ Azure AI Gallery curates models for use with Windows ML - https://gallery.azure.ai/models How do I get ONNX models to use in my application?
  • 13.
    1. Developers canfocus on their data and their scenarios, using Windows ML for model evaluation 2. Enables using ML models trained with a diverse set of toolkits 3. Hardware acceleration gets fast evaluation results across the diversity of the entire Windows device ecosystem. Windows ML solves three problems for you Direct3D GPU CPU DirectML Model Inference Engine WinML Win32 API WinML UWP API Win32 App WinML Runtime UWP App
  • 14.
  • 15.
    DESKTOP CLOUDWEB MOBILEML .NET Your platform for building anything IoTGAMING
  • 16.
    Easy / LessControl Full Control / Harder Vision Speech Language Knowledge SearchLabs TextAnalyticsAPI client = new TextAnalyticsAPI(); client.AzureRegion = AzureRegions.Westus; client.SubscriptionKey = "1bf33391DeadFish"; client.Sentiment( new MultiLanguageBatchInput( new List<MultiLanguageInput>() { new MultiLanguageInput("en","0", "This vacuum cleaner sucks so much dirt") })); e.g. Sentiment Analysis using Azure Cognitive Services 9% positive Pre-built ML Models (Azure Cognitive Services)
  • 17.
    ML.NET is forbuilding custom models Custom models Easier / Less Control Harder / Full Control Pre-built models TensorFlow ML.NETVisionSpeech LanguageKnowledge Search
  • 18.
    Prepare Your DataBuild & Train Run Build your own custom machine learning models
  • 19.
  • 20.
    Is this Aor B? Kid or Baby Based on the age: Kid or Baby Age classes explained
  • 21.
    And more! Samples@ https://github.com/dotnet/machinelearning-samples Customer segmentation Recommendations Predictive maintenance Forecasting Issue Classification Image classification Object detection Sentiment Analysis A few things you can do with ML.NET …
  • 22.
    Proven & ExtensibleOpen Source https://github.com/dotnet/machinelearning Build your own Supported on Windows, Linux, and macOS Developer Focused ML.NET 0.8.0 (Preview) Machine Learning framework made for .NET developers
  • 23.
    Windows 10 (WindowsDefender) Power Point (Design Ideas) Excel (Chart Recommendations) Bing Ads (Ad Predictions) + moreAzure Stream Analytics (Anomaly Detection) ML.NET is Proven at scale, enterprise ready
  • 24.
    ML.NET is aframework for building custom ML Models
  • 25.
  • 26.
    Less Control /Easy Existing Solutions Build your own (custom) ML Models
  • 27.
    ML.Net Working with 2or more columns MakeMagicHappen(); https://www.microsoft.com/net/learn/apps/machi ne-learning-and-ai
  • 28.
  • 29.
    Load Data ExtractFeatures Train Model Evaluate Model Model consumption labels + plain text labels + feature vectors model End to End ML Workflow
  • 30.
    Load Data ExtractFeatures Train Model Evaluate Model Model consumption labels + plain text labels + feature vectors Enter... in ML.NETLearningPipelines! model End to End ML Workflow
  • 31.
    Load Data ExtractFeatures Train Model Evaluate Model Model consumption Machine Learning is Iterative
  • 32.
  • 33.
    ML.Net GitHub Issue AutomaticLabel MakeMagicHappen(); https://github.com/elbruno
  • 34.
    ML.Net, working with TensorFlowfrozen models MakeMagicHappen(); https://www.microsoft.com/net/learn/apps/machi ne-learning-and-ai
  • 35.
    • API improvements •Additional ML Tasks and Scenarios • Improved Deep Learning with TensorFlow • Scale-out on Azure • Better GUI to simplify ML tasks • Improved tooling in Visual Studio • Improvements for F# • Language Innovation for .NET Road Ahead for ML.NET
  • 36.
    Bruno Capuano Innovation Lead@Avanade @elbruno | http://elbruno.com Q&A Thanks!