SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
使用 C# 與 .NET 也能打造機器學習模型
你所不知道的 ML.NET 初體驗
Ko Ko, Microsoft AI MVP
2021/06/09 @Will 保哥的技術交流中心
自我介紹
大家可以叫我科科或是Ko Ko
Microsoft AI MVP
目前在台灣的電信業工作,致力於製造業的AI導入
國內大型技術年會講者,包含 COSCUP、MOPCON、.NET CONF 等
https://www.linkedin.com/in/ko-ko-b12a3474/
大綱
1、基本介紹
2、ML.NET 初體驗 with DEMO
3、神兵利器之AutoML with DEMO
4、部署 AI 模型
5、其他經驗分享
大綱
1、基本介紹
2、ML.NET 初體驗 with DEMO
3、神兵利器之AutoML with DEMO
4、部署 AI 模型
5、其他經驗分享
傳統寫程式
參考文獻1
規則
資料
答案
今天一個人在移動,智慧手錶的程式要從他
移動的方式,判斷他是在走路、騎 腳踏車,
還是在游泳。
Machine Learning
參考文獻1
答案
資料
規則
用資料和答案,來得到規則( AI 模型),再把
沒有答案的資料給這個規則,而得到答案。
注意,有的時候是沒有答案的
監督式學習和非監督式學習
參考文獻2
機器學習和統計學在目的上不同
統計要從樣本數量,去看全體。如選舉民調。
機器學習要從過去的樣本數,去處理新的資料,以解決問題。如從消費紀錄,預測這
個客人下次要買什麼。
兩者在方法上是可以相同的。
參考文獻3
AI 能解決什麼問題?
參考文獻4
大綱
1、基本介紹
2、ML.NET 初體驗 with DEMO
3、神兵利器之AutoML with DEMO
4、部署 AI 模型
5、其他經驗分享
什麼是ML.NET
● 微軟一套開源的、跨平台、AI開發框架。
● NET 開發者可以輕鬆使用C# 或 F# 來做AI 的開發。
● 有很多內建好的算法讓你快速做出成果。
● 支持 .net core 2.0 和 .net framework 4.6.1以上。
● MIT 授權。
ML.NET 可以做什麼
多類別分類
迴歸
二元分類
Cluster
異常偵測
建議
Forecasting
更多算法可以參考這裡
參考文獻5
也可以和 Tensorflow 模型做整合
參考文獻6
微軟目前三個 AI 服務
MLNET:可在地端或雲端訓練客製化模型,強調與.NET應用程式的開發整合。
Azure Machine Learning:是雲端服務,是一個全面性的開發環境,以Python 為主,也
支援其他的語言,可以訓練、部署、管理AI模型等。
Azure Cognitive Services:是雲端服務,提供預建立好的AI模型和 SDK,以供整合到
應用程式,也有部份 train model 功能(例如 Custom Vision 可以訓練影像的模型但是
能調整的地方有限)。
dotnet add package Microsoft.ML
可以不用GPU,不用裝 CUDA、CuDNN等
也可支援GPU,目前要用CUDA 10.1,CuDNN 7.6.4
支援 GPU 的說明(參考文獻7)
DEMO
20
ML.NET程式碼重點
MLContext()
IDataView
pipeline
append 你要的算法(trainer)
predictionEngine
大綱
1、基本介紹
2、ML.NET 初體驗 with DEMO
3、神兵利器之AutoML with DEMO
4、部署 AI 模型
5、其他經驗分享
新一代AI開發工具---Model Builder
這是一個自動化幫你產生AI 模型的工具
主要是使用 AutoML 的技術來幫你自動化產生
不用寫一行 code 就幫你產生Model,自動幫你產生code
DEMO
大綱
1、基本介紹
2、ML.NET 初體驗 with DEMO
3、神兵利器之AutoML with DEMO
4、部署 AI 模型
5、其他經驗分享
PredictionEngine 不是 Thread-safety !
Thread-safety 的作法: PredictionEnginePool
大綱
1、基本介紹
2、ML.NET 初體驗 with DEMO
3、神兵利器之AutoML with DEMO
4、部署 AI 模型
5、其他經驗分享
參考文獻8
Spurious correlation
指在兩個沒有因果關係的事件,可能基於其他未見的干擾因素,顯示出統計學上的相
關,讓人很容易猜想「兩個事件有所聯繫」,然而這種聯繫並不能通過更加精細的檢驗
,因此往往是沒有關係的兩件事。
「夏以妹喜,殷以妲己,周以褒姒,三代所由亡也。」 --- 杜預注《左傳》
參考文獻9
DATA 的標註一開始就錯了
參考文獻10
DATA 本身就有爭議性
Google Brain 在2016年做視網膜病變時發生
同一張圖,有些醫生認為是病變,有些覺得沒有病變
同一張圖,有些醫生認為是重度病變,有些認為是輕度
參考文獻11
切勿過早要求 ROI (Return on investment)
資料的收集,不是短時間可以達成。
資料的清理,往往要投入後才能評估初步的時程。
即使真的train出好模型,也需要驗證。
人員抗拒改變組織流程的心態。
關注在潛在效益比較實際。
結語
對於 AI 專案有初步的了解
認識 ML.NET
了解 model builder 的優勢
了解部署的眉角
資料本身的重要性
最後勉勵大家!
Reference
1、Book: AI and Machine Learning for Coders
2、
https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.researchgate.net%2Ffigu
re%2FExamples-of-Supervised-Learning-Linear-Regression-and-Unsupervised-Learnin
g_fig3_336642133&psig=AOvVaw0TUTBCp320XD7yyfzeW30V&ust=161845271166600
0&source=images&cd=vfe&ved=0CAIQjRxqFwoTCMj0pqrU_O8CFQAAAAAdAAAA
ABAD
3、
https://medium.com/@harish_6956/what-is-machine-learning-deep-learning-778860400
4da
Reference
4、https://books.cw.com.tw/blog/article/1285
5、
https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotnet?WT.mc_id=AI-MVP-5
003846
6、
https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/image-classification
-api-transfer-learning?WT.mc_id=AI-MVP-5003846
7、
https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/install-gpu-m
odel-builder?WT.mc_id=AI-MVP-5003846
Reference
8、https://soshace.com/deep-learning-vs-machine-learning-overview-comparison/
9、
https://www.vox.com/2014/5/13/5710874/the-best-illustration-youll-see-that-correlation-
doesnt-equal
10、https://arxiv.org/pdf/2103.14749.pdf
11、https://www.aaojournal.org/action/showPdf?pii=S0161-6420%2817%2932698-2
謝謝大家!!
Q&A

Más contenido relacionado

La actualidad más candente

JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
y torazuka
 

La actualidad más candente (20)

系統程式 -- 第 3 章 組合語言
系統程式 -- 第 3 章 組合語言系統程式 -- 第 3 章 組合語言
系統程式 -- 第 3 章 組合語言
 
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解
 
我的 DevOps 故事
我的 DevOps 故事我的 DevOps 故事
我的 DevOps 故事
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
 
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
Glibc malloc internal
Glibc malloc internalGlibc malloc internal
Glibc malloc internal
 
Linuxカーネル超入門
Linuxカーネル超入門Linuxカーネル超入門
Linuxカーネル超入門
 
WPF .NET Core でも XAML デザイナをあきらめない
WPF .NET Core でも XAML デザイナをあきらめないWPF .NET Core でも XAML デザイナをあきらめない
WPF .NET Core でも XAML デザイナをあきらめない
 
SQL Server 資料庫版本控管
SQL Server 資料庫版本控管SQL Server 資料庫版本控管
SQL Server 資料庫版本控管
 
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
 
UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
 
Xamarin で良くやっていたあれを MAUI でする話
Xamarin で良くやっていたあれを MAUI でする話Xamarin で良くやっていたあれを MAUI でする話
Xamarin で良くやっていたあれを MAUI でする話
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
「機械学習:技術的負債の高利子クレジットカード」のまとめ
「機械学習:技術的負債の高利子クレジットカード」のまとめ「機械学習:技術的負債の高利子クレジットカード」のまとめ
「機械学習:技術的負債の高利子クレジットカード」のまとめ
 
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介 【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
 

Similar a 用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗

雲端行動商務發展趨勢 V1.2
雲端行動商務發展趨勢 V1.2雲端行動商務發展趨勢 V1.2
雲端行動商務發展趨勢 V1.2
yaohung
 
Agile tour 2014 - Coding Dojo with C# and TDD
Agile tour 2014 - Coding Dojo with C# and TDDAgile tour 2014 - Coding Dojo with C# and TDD
Agile tour 2014 - Coding Dojo with C# and TDD
AgileCommunity
 

Similar a 用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗 (20)

Azure Machine Learning 重頭學
Azure Machine Learning 重頭學Azure Machine Learning 重頭學
Azure Machine Learning 重頭學
 
Introduction to MLOps in Azure Machine Learning with Live Demo
Introduction to MLOps in Azure Machine Learning with Live DemoIntroduction to MLOps in Azure Machine Learning with Live Demo
Introduction to MLOps in Azure Machine Learning with Live Demo
 
ML.NET 在遷移式學習的應用與挑戰
ML.NET 在遷移式學習的應用與挑戰ML.NET 在遷移式學習的應用與挑戰
ML.NET 在遷移式學習的應用與挑戰
 
Building Chatbot With Huggging Face
 				Building Chatbot With Huggging Face 				Building Chatbot With Huggging Face
Building Chatbot With Huggging Face
 
入門 Teams Bot
入門 Teams Bot入門 Teams Bot
入門 Teams Bot
 
Bot Framework 和它的快樂夥伴Composer
Bot Framework 和它的快樂夥伴ComposerBot Framework 和它的快樂夥伴Composer
Bot Framework 和它的快樂夥伴Composer
 
來玩 Bot Framework Composer 2.0版吧!
來玩 Bot Framework Composer 2.0版吧!來玩 Bot Framework Composer 2.0版吧!
來玩 Bot Framework Composer 2.0版吧!
 
Bot framework composer---用圖形化介面來建立聊天機器人
Bot framework composer---用圖形化介面來建立聊天機器人Bot framework composer---用圖形化介面來建立聊天機器人
Bot framework composer---用圖形化介面來建立聊天機器人
 
Introduction Hugging face.pdf
Introduction Hugging face.pdfIntroduction Hugging face.pdf
Introduction Hugging face.pdf
 
20230830 淺談 Azure OpenAI.pdf
20230830 淺談 Azure OpenAI.pdf20230830 淺談 Azure OpenAI.pdf
20230830 淺談 Azure OpenAI.pdf
 
如何使用微軟Power系列服務的看法
如何使用微軟Power系列服務的看法如何使用微軟Power系列服務的看法
如何使用微軟Power系列服務的看法
 
雲端行動商務發展趨勢 V1.2
雲端行動商務發展趨勢 V1.2雲端行動商務發展趨勢 V1.2
雲端行動商務發展趨勢 V1.2
 
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
 
SignalR整合LINE,在LIFF裡建立一對一聊天管道
SignalR整合LINE,在LIFF裡建立一對一聊天管道SignalR整合LINE,在LIFF裡建立一對一聊天管道
SignalR整合LINE,在LIFF裡建立一對一聊天管道
 
Trading bot演算法與軟工在程式交易上的實踐
Trading bot演算法與軟工在程式交易上的實踐Trading bot演算法與軟工在程式交易上的實踐
Trading bot演算法與軟工在程式交易上的實踐
 
Learn Django With ChatGPT
Learn Django With ChatGPTLearn Django With ChatGPT
Learn Django With ChatGPT
 
聊天機器人的行銷與開發技巧應用在婚禮上
聊天機器人的行銷與開發技巧應用在婚禮上聊天機器人的行銷與開發技巧應用在婚禮上
聊天機器人的行銷與開發技巧應用在婚禮上
 
Agile tour 2014 - Coding Dojo with C# and TDD
Agile tour 2014 - Coding Dojo with C# and TDDAgile tour 2014 - Coding Dojo with C# and TDD
Agile tour 2014 - Coding Dojo with C# and TDD
 
Agile tour Taipei 2014 - coding dojo with CSharp and TDD
Agile tour Taipei 2014 - coding dojo with CSharp and TDDAgile tour Taipei 2014 - coding dojo with CSharp and TDD
Agile tour Taipei 2014 - coding dojo with CSharp and TDD
 
認識程式交易
認識程式交易認識程式交易
認識程式交易
 

Más de Ko Ko

Más de Ko Ko (10)

Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AI
 
Triton As NLP Model Inference Back-end
 Triton As NLP Model Inference Back-end Triton As NLP Model Inference Back-end
Triton As NLP Model Inference Back-end
 
Run Bokeh in back-end, draw real-time charts to front-end, and make data sc...
Run Bokeh in back-end,  draw real-time charts to front-end,  and make data sc...Run Bokeh in back-end,  draw real-time charts to front-end,  and make data sc...
Run Bokeh in back-end, draw real-time charts to front-end, and make data sc...
 
簡介Azure在Chatbot開發上的應用
簡介Azure在Chatbot開發上的應用簡介Azure在Chatbot開發上的應用
簡介Azure在Chatbot開發上的應用
 
簡介Wordpress部署在AWS上的幾種架構
簡介Wordpress部署在AWS上的幾種架構簡介Wordpress部署在AWS上的幾種架構
簡介Wordpress部署在AWS上的幾種架構
 
業界都在用的自然語言理解工具,教你快速建構Line對話機器人
業界都在用的自然語言理解工具,教你快速建構Line對話機器人業界都在用的自然語言理解工具,教你快速建構Line對話機器人
業界都在用的自然語言理解工具,教你快速建構Line對話機器人
 
自然語言理解的 Line 機器人實戰
自然語言理解的 Line 機器人實戰自然語言理解的 Line 機器人實戰
自然語言理解的 Line 機器人實戰
 
三十分鐘內,不用寫程式,教你打造具自然語言能力的聊天機器人
三十分鐘內,不用寫程式,教你打造具自然語言能力的聊天機器人三十分鐘內,不用寫程式,教你打造具自然語言能力的聊天機器人
三十分鐘內,不用寫程式,教你打造具自然語言能力的聊天機器人
 
從負面案例來討論接案工程師該有什麼軟技能
從負面案例來討論接案工程師該有什麼軟技能從負面案例來討論接案工程師該有什麼軟技能
從負面案例來討論接案工程師該有什麼軟技能
 
YOLO V1 論文導讀
YOLO V1 論文導讀YOLO V1 論文導讀
YOLO V1 論文導讀
 

用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗