SlideShare a Scribd company logo
1 of 34
www.dotnetconf.net
Quick intro on
ML.NET
ML.NET
open source cross-platform
Built for .NET
developers
Custom ML made
easy with tools
Extended with
TensorFlow & more
Trusted &
proven at scale
C#
F#
http://dot.net/ml
ML.NET is enterprise-ready battle proven
Microsoft Defender – Antivirus Threat Protection
Power Point - Design Ideas
Excel - Chart Recommendations
Bing - Ad Predictions
Azure ML Studio – Multiple components
Azure Stream Analytics - Anomaly Detection
Brenmor – Medical patient survey classification
Sig Parser – E-mail spam detection
Williams Mullen – Law document classification
Evolution Software – Hazelnut drying time prediction
endjin – Newsletter article classification
+ more
Microsoft Products
(Using ML.NET internally for > 8 years)
Customers
(ML.NET v1 since May 2019)
ML.NET runs anywhere
Supported Frameworks:
.NET Core (Natively)
.NET Framework (Natively)
Python with NimbusML (Python bindings)
Supported processor arch.
x64
x86
A few things you can do with ML.NET …
And more! Samples @ https://github.com/dotnet/machinelearning-samples
Prepare Your Data Build & Train Run
Model consumption
End-user app
using the ML model
ML model ML model
Model creation
App/tools for training
the ML model
Machine Learning Workflow
Datasets
Three ways to use ML.NET…
ML.NET
API
(Code)
ML.NET
Model Builder
(Visual Studio UI)
ML.NET
CLI
(Command-Line
Interface)
C# >_
Easiest way to create an ML.NET model:
Model Builder in Visual Studio
ML.NET Model Builder
Approachable machine learning in Visual Studio
http://aka.ms/mlnetmodelbuilder
macOS / Linux (Bash)
Windows (PowerShell and CMD)
> mlnet auto-train --ml-task binary-classification --dataset "customer-reviews.tsv" --label-column-name Sentiment
ML.NET CLI
What’s new in ML.NET since May 2019?
What’s new for data reading:
Database Loader
Train onC# Training code
creating a ML model
Relational
database
• SQL Server
• Oracle
• PostgreSQL
• MySQL
• etc.
Database Loader
Enabled scenarios
• Training directly against relational databases.
• Simple and out-of-the-box code
• Supports any RDBMS supported by
System.Data
• Currently in preview (1.4-preview release)
What’s new for
Deep Learning in ML.NET
Use Deep Learning models with ML.NET
• Add intelligence based on DNN-based models to your .NET apps
• Enables computer vision and many more Deep Learning domains
Leading libraries in deep learning and interoperability
PyTorch
Microsoft’s strategy is to integrate those low level libraries and runtimes into ML.NET:
Currently supported by ML.NET:
- TensorFlow
- ONNX
In ML.NET long-term roadmap:
- Torch
Leading deep learning ‘pre-trained models’
(DNN architectures)
• Huge investment/cost in DNN architecture research plus costly training on
large datasets made by organizations such as Google, Microsoft,
Facebook, Universities and researchers.
• You can take advantage of it by simply consuming pre-trained models
Computer Vision
Image classification
Object detection
• Google InceptionV3
• Microsoft ResNet
• NASNet
• Oxford VGG Model
• MobileNetV2
• etc.
• Yolo (You Only Look Once)
• R-CNN
• SPP-net
• Fast R-CNN
• Faster R-CNN
• etc.
Audio and speech
https://modelzoo.co/categories
• Wavenet
• espnet
• waveblow
• deepspeech2
• loop
• tacotron
• etc.
NLP (Natural language processing)
Generative Models
… other domains …
Consuming pre-trained deep learning models with ML.NET
Scenario: Image classifier (Consuming the model)
Pre-trained
Deep learning model
(i.e. Image classifier)
“dog”
“elephant”
“flower”
Examples of pre-trained models (Image classifiers):
• Google Inception v3, NASNet
• Microsoft ResNet
• Oxford VGG Model, etc.
Pre-defined list of
generic labels
“person”
“car”
GitHub sample here
Consuming pre-trained deep learning models with ML.NET
Scenario: Object Detection (Consuming the model)
Pre-trained
Deep learning model
(i.e. Object Detection)
Examples of pre-trained
models for obj. detection:
• YOLO (You Only Look Once)
• Faster R-CNN
• SSD, etc.
GitHub sample here
What if I want to classify based on my own custom domain?
Scenario: Image classifier (Training)
Your custom Image Classifier
(Deep learning model)
“roses”
“tulips”
“daisies”
Train
Then you train your own custom deep learning model with ML.NET
• When training, ML.NET is based on TensorFlow underneath (Transfer Learning).
• ML.NET currently supports “ImageClassifier training” ( Preview)
• Object Detection training will come soon
Image Classification in ML.NET Model Builder (VS extension)
(*) The Image Classifier feature in Model Builder will be public preview in upcoming releases.
As of Sept. 23rd 2019 this feature is still not publicly released in Model Builder, yet.
You can already use the API in public preview, though.
• A simple UI to easily build custom
ML models with Automated ML
• Directly load image folders
• Generate code for training and
consumption
• Run everything local
Pre-trained
TensorFlow model
DNN graph
(i.e. Inception, ResNet, etc.)
Original
Pre-trained
.meta file
Transfer learning in TensorFlow with ML.NET ImageClassifier
Benefits:
1. Native DNN transfer learning: Transfer Learning happens
within TensorFlow DNN models, not using ML.NET trainers
on-top
2. Best power and optimization: We’re able to re-train one or
more layers within the TensorFlow graph
Final trained custom
TensorFlow model
DNN graph
(With Transfer learning)
Re-trained
graph
Transfer
Learning
Re-train
• Dependency on TensorFlow.NET bindings for C#
• Dependency on native TensorFlow binary redist.
Internal dependencies for TensorFlow
(Preview)
Pre-trained
TensorFlow model
DNN graph
(i.e. Inception, ResNet, etc.)
Original
Pre-trained
.meta file
Transfer learning in TensorFlow with ML.NET ImageClassifier
var pipeline = mlContext.Transforms.Conversion.MapValueToKey("Label")
ML.NETpipelinecreatinganewre-trainedTensorFlowModel
through Transfer LearningwithinTensorFlow
Simplification benefit: High level API oriented to ML Task: ‘ImageClassification’
Final trained custom
TensorFlow model
DNN graph
(With Transfer learning)
Frozen graph with last layer replaced
with the transferred learning layer
with the new re-training
Re-trained
graph
New ML.NET model
As simple wrapper for
execution from .NET
(.zip file)
New TensorFlow model
Retrained with Transfer
Learning
(.pb file)
End-user C# app
Scoring/predicting
with model
Final
re-trained
.pb file
C# app
.Append(mlContext.Model.ImageClassification("Image", "Label",
arch: DnnEstimator.Architecture.InceptionV3));
var trainedModel = pipeline.Fit(trainDataset);Transfer
Learning
Re-train
Blog Post: Training Image Classification/Recognition models based on Deep Learning & Transfer Learning with ML.NET
(Preview)
What’s new for
Data exploration,
ML experimentation
and learning-oriented formats
Other important features in ML.NET
• DevOps & ML Model lifecycle with Azure DevOps CI/CD pipelines
• Model Explainability and Feature input variables importance
• Cross-validation of ML.NET models:
• Loading data from ‘anywhere’ through the LoadFromEnumerable() method
• Using huge and sparse datasets (thousands or millions of columns)
• Deploy ML.NET model into high scalable and multi-threaded ASP.NET Core apps and services
• Deploy ML.NET model into an Azure Function
• Plus many more ML Tasks and scenarios (see samples here: https://github.com/dotnet/machinelearning-samples ) such as:
Sentiment analysis, Spam detection, Fraud Detection, text classification, products recommendations, data spike detection,
clustering, ranking results, etc.
https://aka.ms/mlnetyoutube
Check out many of those scenarios at the ML.NET YouTube playlist:
Roadmap ahead
• Introducing deep learning model training (Preview)
– Image classification & object detection
• Adding database loader (Preview)
• Improvements for ML.NET on Jupyter
• Scale-out on Azure for training and consumption
• Improve AutoML experience for all ML scenarios
• Improve tooling in Visual Studio and .NET (Model Builder & CLI)
• ARM and ONNX support (Enablers for Xamarin & IoT scenarios)
ML.NET Resources
http://dot.net/ml
http://aka.ms/mlnetsamples
http://aka.ms/mlnetdocs
http://aka.ms/mlnet
https://aka.ms/mlnetyoutube
Thank you! 
Alberto Diaz Martin
CTIO
ENCAMINA
@adiazcan

More Related Content

Similar to DotNet Conf Madrid 2019 - Whats New in ML.NET

Machine Learning para devs com ML.NET
Machine Learning para devs com ML.NETMachine Learning para devs com ML.NET
Machine Learning para devs com ML.NETLetticia Nicoli
 
201906 02 Introduction to AutoML with ML.NET 1.0
201906 02 Introduction to AutoML with ML.NET 1.0201906 02 Introduction to AutoML with ML.NET 1.0
201906 02 Introduction to AutoML with ML.NET 1.0Mark Tabladillo
 
Machine Learning for .NET Developers - ADC21
Machine Learning for .NET Developers - ADC21Machine Learning for .NET Developers - ADC21
Machine Learning for .NET Developers - ADC21Gülden Bilgütay
 
Entity Framework Core 1.0
Entity Framework Core 1.0Entity Framework Core 1.0
Entity Framework Core 1.0Senthil Kumar
 
Ai on the edge... and containers
Ai on the edge... and containersAi on the edge... and containers
Ai on the edge... and containersRiccardo Cappello
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...DataWorks Summit
 
MLOps pipelines using MLFlow - From training to production
MLOps pipelines using MLFlow - From training to productionMLOps pipelines using MLFlow - From training to production
MLOps pipelines using MLFlow - From training to productionFabian Hadiji
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life CycleMLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life CycleDatabricks
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...
 MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ... MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...
MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...Databricks
 
Getting Started with Visual Studio Tools for AI
Getting Started with Visual Studio Tools for AIGetting Started with Visual Studio Tools for AI
Getting Started with Visual Studio Tools for AIMicrosoft Tech Community
 
Introduction to MLflow
Introduction to MLflowIntroduction to MLflow
Introduction to MLflowDatabricks
 
Designing Artificial Intelligence
Designing Artificial IntelligenceDesigning Artificial Intelligence
Designing Artificial IntelligenceDavid Chou
 
Infrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentInfrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentDatabricks
 
Scaling up Machine Learning Development
Scaling up Machine Learning DevelopmentScaling up Machine Learning Development
Scaling up Machine Learning DevelopmentMatei Zaharia
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...European Collaboration Summit
 
Azure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOps
Azure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOpsAzure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOps
Azure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOpsazuredayit
 
Ml.net model lifecycle with azure dev ops
Ml.net model lifecycle with azure dev opsMl.net model lifecycle with azure dev ops
Ml.net model lifecycle with azure dev opsMarco Zamana
 
201908 Overview of Automated ML
201908 Overview of Automated ML201908 Overview of Automated ML
201908 Overview of Automated MLMark Tabladillo
 
Austin,TX Meetup presentation tensorflow final oct 26 2017
Austin,TX Meetup presentation tensorflow final oct 26 2017Austin,TX Meetup presentation tensorflow final oct 26 2017
Austin,TX Meetup presentation tensorflow final oct 26 2017Clarisse Hedglin
 

Similar to DotNet Conf Madrid 2019 - Whats New in ML.NET (20)

Machine Learning para devs com ML.NET
Machine Learning para devs com ML.NETMachine Learning para devs com ML.NET
Machine Learning para devs com ML.NET
 
201906 02 Introduction to AutoML with ML.NET 1.0
201906 02 Introduction to AutoML with ML.NET 1.0201906 02 Introduction to AutoML with ML.NET 1.0
201906 02 Introduction to AutoML with ML.NET 1.0
 
Machine Learning for .NET Developers - ADC21
Machine Learning for .NET Developers - ADC21Machine Learning for .NET Developers - ADC21
Machine Learning for .NET Developers - ADC21
 
Entity Framework Core 1.0
Entity Framework Core 1.0Entity Framework Core 1.0
Entity Framework Core 1.0
 
Ai on the edge... and containers
Ai on the edge... and containersAi on the edge... and containers
Ai on the edge... and containers
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
 
MLOps pipelines using MLFlow - From training to production
MLOps pipelines using MLFlow - From training to productionMLOps pipelines using MLFlow - From training to production
MLOps pipelines using MLFlow - From training to production
 
Persian MNIST in 5 Minutes
Persian MNIST in 5 MinutesPersian MNIST in 5 Minutes
Persian MNIST in 5 Minutes
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life CycleMLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life Cycle
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...
 MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ... MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...
MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...
 
Getting Started with Visual Studio Tools for AI
Getting Started with Visual Studio Tools for AIGetting Started with Visual Studio Tools for AI
Getting Started with Visual Studio Tools for AI
 
Introduction to MLflow
Introduction to MLflowIntroduction to MLflow
Introduction to MLflow
 
Designing Artificial Intelligence
Designing Artificial IntelligenceDesigning Artificial Intelligence
Designing Artificial Intelligence
 
Infrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentInfrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload Deployment
 
Scaling up Machine Learning Development
Scaling up Machine Learning DevelopmentScaling up Machine Learning Development
Scaling up Machine Learning Development
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
 
Azure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOps
Azure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOpsAzure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOps
Azure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOps
 
Ml.net model lifecycle with azure dev ops
Ml.net model lifecycle with azure dev opsMl.net model lifecycle with azure dev ops
Ml.net model lifecycle with azure dev ops
 
201908 Overview of Automated ML
201908 Overview of Automated ML201908 Overview of Automated ML
201908 Overview of Automated ML
 
Austin,TX Meetup presentation tensorflow final oct 26 2017
Austin,TX Meetup presentation tensorflow final oct 26 2017Austin,TX Meetup presentation tensorflow final oct 26 2017
Austin,TX Meetup presentation tensorflow final oct 26 2017
 

More from Alberto Diaz Martin

Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search APIMicrosoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search APIAlberto Diaz Martin
 
DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...
DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...
DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...Alberto Diaz Martin
 
GAB 2019 - Graph as a data store
GAB 2019 - Graph as a data storeGAB 2019 - Graph as a data store
GAB 2019 - Graph as a data storeAlberto Diaz Martin
 
DotNet Conf Madrid 2019 - ASP.NET Core 3
DotNet Conf Madrid 2019 - ASP.NET Core 3DotNet Conf Madrid 2019 - ASP.NET Core 3
DotNet Conf Madrid 2019 - ASP.NET Core 3Alberto Diaz Martin
 
SQL Saturday Madrid 2019 - Data model with Azure Cosmos DB
SQL Saturday Madrid 2019 - Data model with Azure Cosmos DBSQL Saturday Madrid 2019 - Data model with Azure Cosmos DB
SQL Saturday Madrid 2019 - Data model with Azure Cosmos DBAlberto Diaz Martin
 
SharePoint Saturday Madrid 2019 - Productivity based on AI
SharePoint Saturday Madrid 2019 - Productivity based on AISharePoint Saturday Madrid 2019 - Productivity based on AI
SharePoint Saturday Madrid 2019 - Productivity based on AIAlberto Diaz Martin
 
Dynamics Saturday Madrid 2019 - AI to improve productivity
Dynamics Saturday Madrid 2019 - AI to improve productivityDynamics Saturday Madrid 2019 - AI to improve productivity
Dynamics Saturday Madrid 2019 - AI to improve productivityAlberto Diaz Martin
 
TenerifeDev - NLPs and how to develop for Alexa and Google Assistant
TenerifeDev - NLPs and how to develop for Alexa and Google AssistantTenerifeDev - NLPs and how to develop for Alexa and Google Assistant
TenerifeDev - NLPs and how to develop for Alexa and Google AssistantAlberto Diaz Martin
 
NetCoreConf Barcelona 2019 - DotNet Assistants
NetCoreConf Barcelona 2019 - DotNet AssistantsNetCoreConf Barcelona 2019 - DotNet Assistants
NetCoreConf Barcelona 2019 - DotNet AssistantsAlberto Diaz Martin
 
Global Integration Bootcamp 2018 - Gobierno de APIs
Global Integration Bootcamp 2018 - Gobierno de APIsGlobal Integration Bootcamp 2018 - Gobierno de APIs
Global Integration Bootcamp 2018 - Gobierno de APIsAlberto Diaz Martin
 
Gab 2018 seguridad y escalado en azure service fabric
Gab 2018   seguridad y escalado en azure service fabricGab 2018   seguridad y escalado en azure service fabric
Gab 2018 seguridad y escalado en azure service fabricAlberto Diaz Martin
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETAlberto Diaz Martin
 
Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365
Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365
Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365Alberto Diaz Martin
 
Azure4Research - Big Data Analytics con Hadoop, Spark y Power BI
Azure4Research - Big Data Analytics con Hadoop, Spark y Power BIAzure4Research - Big Data Analytics con Hadoop, Spark y Power BI
Azure4Research - Big Data Analytics con Hadoop, Spark y Power BIAlberto Diaz Martin
 
ENCAMINA - El flash de Inteligencia Artificial
ENCAMINA - El flash de Inteligencia ArtificialENCAMINA - El flash de Inteligencia Artificial
ENCAMINA - El flash de Inteligencia ArtificialAlberto Diaz Martin
 
Ai & Data Analytics 2018 - Azure Databricks for data scientist
Ai & Data Analytics 2018 - Azure Databricks for data scientistAi & Data Analytics 2018 - Azure Databricks for data scientist
Ai & Data Analytics 2018 - Azure Databricks for data scientistAlberto Diaz Martin
 
Global AI Bootcamp Madrid - Azure Databricks
Global AI Bootcamp Madrid - Azure DatabricksGlobal AI Bootcamp Madrid - Azure Databricks
Global AI Bootcamp Madrid - Azure DatabricksAlberto Diaz Martin
 
TenerifeDev - Intro to Microservices
TenerifeDev - Intro to MicroservicesTenerifeDev - Intro to Microservices
TenerifeDev - Intro to MicroservicesAlberto Diaz Martin
 
TenerifeDev - Azure Service Fabric
TenerifeDev - Azure Service FabricTenerifeDev - Azure Service Fabric
TenerifeDev - Azure Service FabricAlberto Diaz Martin
 
Commit Conf 2018 - Extiende al asistente
Commit Conf 2018 - Extiende al asistenteCommit Conf 2018 - Extiende al asistente
Commit Conf 2018 - Extiende al asistenteAlberto Diaz Martin
 

More from Alberto Diaz Martin (20)

Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search APIMicrosoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search API
 
DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...
DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...
DotNet Conf Valencia 2019 - Building cloud native apps with .NRT core 3.0 and...
 
GAB 2019 - Graph as a data store
GAB 2019 - Graph as a data storeGAB 2019 - Graph as a data store
GAB 2019 - Graph as a data store
 
DotNet Conf Madrid 2019 - ASP.NET Core 3
DotNet Conf Madrid 2019 - ASP.NET Core 3DotNet Conf Madrid 2019 - ASP.NET Core 3
DotNet Conf Madrid 2019 - ASP.NET Core 3
 
SQL Saturday Madrid 2019 - Data model with Azure Cosmos DB
SQL Saturday Madrid 2019 - Data model with Azure Cosmos DBSQL Saturday Madrid 2019 - Data model with Azure Cosmos DB
SQL Saturday Madrid 2019 - Data model with Azure Cosmos DB
 
SharePoint Saturday Madrid 2019 - Productivity based on AI
SharePoint Saturday Madrid 2019 - Productivity based on AISharePoint Saturday Madrid 2019 - Productivity based on AI
SharePoint Saturday Madrid 2019 - Productivity based on AI
 
Dynamics Saturday Madrid 2019 - AI to improve productivity
Dynamics Saturday Madrid 2019 - AI to improve productivityDynamics Saturday Madrid 2019 - AI to improve productivity
Dynamics Saturday Madrid 2019 - AI to improve productivity
 
TenerifeDev - NLPs and how to develop for Alexa and Google Assistant
TenerifeDev - NLPs and how to develop for Alexa and Google AssistantTenerifeDev - NLPs and how to develop for Alexa and Google Assistant
TenerifeDev - NLPs and how to develop for Alexa and Google Assistant
 
NetCoreConf Barcelona 2019 - DotNet Assistants
NetCoreConf Barcelona 2019 - DotNet AssistantsNetCoreConf Barcelona 2019 - DotNet Assistants
NetCoreConf Barcelona 2019 - DotNet Assistants
 
Global Integration Bootcamp 2018 - Gobierno de APIs
Global Integration Bootcamp 2018 - Gobierno de APIsGlobal Integration Bootcamp 2018 - Gobierno de APIs
Global Integration Bootcamp 2018 - Gobierno de APIs
 
Gab 2018 seguridad y escalado en azure service fabric
Gab 2018   seguridad y escalado en azure service fabricGab 2018   seguridad y escalado en azure service fabric
Gab 2018 seguridad y escalado en azure service fabric
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NET
 
Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365
Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365
Dynamics 365 Saturday Madrid 2018 - Otro ALM es posible para Dynamics 365
 
Azure4Research - Big Data Analytics con Hadoop, Spark y Power BI
Azure4Research - Big Data Analytics con Hadoop, Spark y Power BIAzure4Research - Big Data Analytics con Hadoop, Spark y Power BI
Azure4Research - Big Data Analytics con Hadoop, Spark y Power BI
 
ENCAMINA - El flash de Inteligencia Artificial
ENCAMINA - El flash de Inteligencia ArtificialENCAMINA - El flash de Inteligencia Artificial
ENCAMINA - El flash de Inteligencia Artificial
 
Ai & Data Analytics 2018 - Azure Databricks for data scientist
Ai & Data Analytics 2018 - Azure Databricks for data scientistAi & Data Analytics 2018 - Azure Databricks for data scientist
Ai & Data Analytics 2018 - Azure Databricks for data scientist
 
Global AI Bootcamp Madrid - Azure Databricks
Global AI Bootcamp Madrid - Azure DatabricksGlobal AI Bootcamp Madrid - Azure Databricks
Global AI Bootcamp Madrid - Azure Databricks
 
TenerifeDev - Intro to Microservices
TenerifeDev - Intro to MicroservicesTenerifeDev - Intro to Microservices
TenerifeDev - Intro to Microservices
 
TenerifeDev - Azure Service Fabric
TenerifeDev - Azure Service FabricTenerifeDev - Azure Service Fabric
TenerifeDev - Azure Service Fabric
 
Commit Conf 2018 - Extiende al asistente
Commit Conf 2018 - Extiende al asistenteCommit Conf 2018 - Extiende al asistente
Commit Conf 2018 - Extiende al asistente
 

Recently uploaded

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Recently uploaded (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

DotNet Conf Madrid 2019 - Whats New in ML.NET

  • 2.
  • 4. ML.NET open source cross-platform Built for .NET developers Custom ML made easy with tools Extended with TensorFlow & more Trusted & proven at scale C# F# http://dot.net/ml
  • 5. ML.NET is enterprise-ready battle proven Microsoft Defender – Antivirus Threat Protection Power Point - Design Ideas Excel - Chart Recommendations Bing - Ad Predictions Azure ML Studio – Multiple components Azure Stream Analytics - Anomaly Detection Brenmor – Medical patient survey classification Sig Parser – E-mail spam detection Williams Mullen – Law document classification Evolution Software – Hazelnut drying time prediction endjin – Newsletter article classification + more Microsoft Products (Using ML.NET internally for > 8 years) Customers (ML.NET v1 since May 2019)
  • 6. ML.NET runs anywhere Supported Frameworks: .NET Core (Natively) .NET Framework (Natively) Python with NimbusML (Python bindings) Supported processor arch. x64 x86
  • 7. A few things you can do with ML.NET … And more! Samples @ https://github.com/dotnet/machinelearning-samples
  • 8. Prepare Your Data Build & Train Run Model consumption End-user app using the ML model ML model ML model Model creation App/tools for training the ML model Machine Learning Workflow Datasets
  • 9. Three ways to use ML.NET… ML.NET API (Code) ML.NET Model Builder (Visual Studio UI) ML.NET CLI (Command-Line Interface) C# >_
  • 10. Easiest way to create an ML.NET model: Model Builder in Visual Studio
  • 11. ML.NET Model Builder Approachable machine learning in Visual Studio http://aka.ms/mlnetmodelbuilder
  • 12.
  • 13. macOS / Linux (Bash) Windows (PowerShell and CMD) > mlnet auto-train --ml-task binary-classification --dataset "customer-reviews.tsv" --label-column-name Sentiment ML.NET CLI
  • 14. What’s new in ML.NET since May 2019?
  • 15. What’s new for data reading: Database Loader
  • 16. Train onC# Training code creating a ML model Relational database • SQL Server • Oracle • PostgreSQL • MySQL • etc. Database Loader Enabled scenarios • Training directly against relational databases. • Simple and out-of-the-box code • Supports any RDBMS supported by System.Data • Currently in preview (1.4-preview release)
  • 17.
  • 18. What’s new for Deep Learning in ML.NET
  • 19. Use Deep Learning models with ML.NET • Add intelligence based on DNN-based models to your .NET apps • Enables computer vision and many more Deep Learning domains
  • 20. Leading libraries in deep learning and interoperability PyTorch Microsoft’s strategy is to integrate those low level libraries and runtimes into ML.NET: Currently supported by ML.NET: - TensorFlow - ONNX In ML.NET long-term roadmap: - Torch
  • 21. Leading deep learning ‘pre-trained models’ (DNN architectures) • Huge investment/cost in DNN architecture research plus costly training on large datasets made by organizations such as Google, Microsoft, Facebook, Universities and researchers. • You can take advantage of it by simply consuming pre-trained models Computer Vision Image classification Object detection • Google InceptionV3 • Microsoft ResNet • NASNet • Oxford VGG Model • MobileNetV2 • etc. • Yolo (You Only Look Once) • R-CNN • SPP-net • Fast R-CNN • Faster R-CNN • etc. Audio and speech https://modelzoo.co/categories • Wavenet • espnet • waveblow • deepspeech2 • loop • tacotron • etc. NLP (Natural language processing) Generative Models … other domains …
  • 22. Consuming pre-trained deep learning models with ML.NET Scenario: Image classifier (Consuming the model) Pre-trained Deep learning model (i.e. Image classifier) “dog” “elephant” “flower” Examples of pre-trained models (Image classifiers): • Google Inception v3, NASNet • Microsoft ResNet • Oxford VGG Model, etc. Pre-defined list of generic labels “person” “car” GitHub sample here
  • 23. Consuming pre-trained deep learning models with ML.NET Scenario: Object Detection (Consuming the model) Pre-trained Deep learning model (i.e. Object Detection) Examples of pre-trained models for obj. detection: • YOLO (You Only Look Once) • Faster R-CNN • SSD, etc. GitHub sample here
  • 24. What if I want to classify based on my own custom domain? Scenario: Image classifier (Training) Your custom Image Classifier (Deep learning model) “roses” “tulips” “daisies” Train Then you train your own custom deep learning model with ML.NET • When training, ML.NET is based on TensorFlow underneath (Transfer Learning). • ML.NET currently supports “ImageClassifier training” ( Preview) • Object Detection training will come soon
  • 25. Image Classification in ML.NET Model Builder (VS extension) (*) The Image Classifier feature in Model Builder will be public preview in upcoming releases. As of Sept. 23rd 2019 this feature is still not publicly released in Model Builder, yet. You can already use the API in public preview, though. • A simple UI to easily build custom ML models with Automated ML • Directly load image folders • Generate code for training and consumption • Run everything local
  • 26.
  • 27. Pre-trained TensorFlow model DNN graph (i.e. Inception, ResNet, etc.) Original Pre-trained .meta file Transfer learning in TensorFlow with ML.NET ImageClassifier Benefits: 1. Native DNN transfer learning: Transfer Learning happens within TensorFlow DNN models, not using ML.NET trainers on-top 2. Best power and optimization: We’re able to re-train one or more layers within the TensorFlow graph Final trained custom TensorFlow model DNN graph (With Transfer learning) Re-trained graph Transfer Learning Re-train • Dependency on TensorFlow.NET bindings for C# • Dependency on native TensorFlow binary redist. Internal dependencies for TensorFlow (Preview)
  • 28. Pre-trained TensorFlow model DNN graph (i.e. Inception, ResNet, etc.) Original Pre-trained .meta file Transfer learning in TensorFlow with ML.NET ImageClassifier var pipeline = mlContext.Transforms.Conversion.MapValueToKey("Label") ML.NETpipelinecreatinganewre-trainedTensorFlowModel through Transfer LearningwithinTensorFlow Simplification benefit: High level API oriented to ML Task: ‘ImageClassification’ Final trained custom TensorFlow model DNN graph (With Transfer learning) Frozen graph with last layer replaced with the transferred learning layer with the new re-training Re-trained graph New ML.NET model As simple wrapper for execution from .NET (.zip file) New TensorFlow model Retrained with Transfer Learning (.pb file) End-user C# app Scoring/predicting with model Final re-trained .pb file C# app .Append(mlContext.Model.ImageClassification("Image", "Label", arch: DnnEstimator.Architecture.InceptionV3)); var trainedModel = pipeline.Fit(trainDataset);Transfer Learning Re-train Blog Post: Training Image Classification/Recognition models based on Deep Learning & Transfer Learning with ML.NET (Preview)
  • 29.
  • 30. What’s new for Data exploration, ML experimentation and learning-oriented formats
  • 31. Other important features in ML.NET • DevOps & ML Model lifecycle with Azure DevOps CI/CD pipelines • Model Explainability and Feature input variables importance • Cross-validation of ML.NET models: • Loading data from ‘anywhere’ through the LoadFromEnumerable() method • Using huge and sparse datasets (thousands or millions of columns) • Deploy ML.NET model into high scalable and multi-threaded ASP.NET Core apps and services • Deploy ML.NET model into an Azure Function • Plus many more ML Tasks and scenarios (see samples here: https://github.com/dotnet/machinelearning-samples ) such as: Sentiment analysis, Spam detection, Fraud Detection, text classification, products recommendations, data spike detection, clustering, ranking results, etc. https://aka.ms/mlnetyoutube Check out many of those scenarios at the ML.NET YouTube playlist:
  • 32. Roadmap ahead • Introducing deep learning model training (Preview) – Image classification & object detection • Adding database loader (Preview) • Improvements for ML.NET on Jupyter • Scale-out on Azure for training and consumption • Improve AutoML experience for all ML scenarios • Improve tooling in Visual Studio and .NET (Model Builder & CLI) • ARM and ONNX support (Enablers for Xamarin & IoT scenarios)
  • 34. Thank you!  Alberto Diaz Martin CTIO ENCAMINA @adiazcan

Editor's Notes

  1. Other talks on ML.NET introductions: https://channel9.msdn.com/Shows/On-NET/Machine-Learning-with-MLNET-10-from-Build-2019 Build2019 at YouTube: https://www.youtube.com/watch?v=pxUzw6JyqcM
  2. Use existing .NET skills to easily integrate ML models into your .NET apps Productive tooling Leverage other popular libraries like TF and ONNX for additional scenarios TLC
  3. 8
  4. 9
  5. https://modelzoo.co/categories https://cv-tricks.com/object-detection/faster-r-cnn-yolo-ssd/
  6. An image classifier is a deep learning model that recognizes images. When you give it an image, it responds with a label for that image. NASNet: https://ai.googleblog.com/2017/11/automl-for-large-scale-image.html
  7. An image classifier is a deep learning model that recognizes images. When you give it an image, it responds with a label for that image. NASNet: https://ai.googleblog.com/2017/11/automl-for-large-scale-image.html
  8. An image classifier is a deep learning model that recognizes images. When you give it an image, it responds with a label for that image. NASNet: https://ai.googleblog.com/2017/11/automl-for-large-scale-image.html
  9. An image classifier is a deep learning model that recognizes images. When you give it an image, it responds with a label for that image. NASNet: https://ai.googleblog.com/2017/11/automl-for-large-scale-image.html
  10. SPECS: https://github.com/dotnet/machinelearning/blob/cd591dd492833964b6829e8bb2411fb81665ac6d/docs/specs/DNN/dnn_api_spec.md
  11. SPECS: https://github.com/dotnet/machinelearning/blob/cd591dd492833964b6829e8bb2411fb81665ac6d/docs/specs/DNN/dnn_api_spec.md