ML.NET 終於在Jupyter NoteBook 上跑起來了

        對.NETer來說,剛結束的.NET Conf 2019是非常難忘的,畢竟這個個人覺得比微軟在中國辦的大會更加清真,當然現階段.NET 已經不單跑在Windows的一項技術了,它可以跑在Linux/macOS/iOS/Android/IoT等,也可以融合當今最熱門的容器技術,當然大熱的機器學習/深度學習領域也是少不了的。ML.NET是微軟官方的機器學習平臺,從預覽到現在快兩年了,版本在不斷迭代,也從社區中吸收一些成熟的項目去完善對應的功能,如TensorFlow.NET的加入讓ML.NET有了深度學習的場景。在ML.NET 1.4 版本中,不僅對DNN實現進一步優化,更開始接入到主流的數據科學工具Jupyter NoteBook,可以說現階段ML.NET邁入了一個新的階段。當然SciSharp的ICSharpCore也是不錯的項目,但官方的支持對於.NET Core社區來說是非常不錯的一個選擇,可以把不少優秀的.NET 庫引入到.NET Core 機器學習生態環境裏。
       


       要在本機Jupyter NoteBook運行ML.NET,需要通過dotnet tool 安裝dotnet-try(現階段是preview 1,大家還是多多體諒) 。還有一點你必須先通過安裝Python裝好Jupyter,當然少不了.NET Core SDK 3.0 SDK / .NET Core 2.1 SDK. 確保完成了.NET Core SDK 和 Python下的Jupyter 安裝後,你只需要運行如下命令就可以完成Jupyter NoteBook 的 .NETCore :      

       1. dotnet tool install -g dotnet-try

       2. dotnet try jupyter install

       你可以通過jupyter kernelspec list 去檢查是否安裝成功了,如下圖
 

 

       之後你可以通過創建一個文件夾,然後通過命令行方式運行輸入jupyter notebook 啓動環境,在New下就可以創建基於.NET Core 的NoteBook 環境了(如下圖)。
 

 


       運行.NET Core 的Jupiter NoteBook 依賴於Roslyn 這點和ICSharpCore類似,當引入Nuget時都需要用#r "nuget:庫名,版本號"去添加,這裏值得提點大家的是現在貌似不支持引入本地的dll,哈哈還是ICSharpCore好, 不過這個還是preview 1 的產品還是令人值得期待的。

       以下是我基於ML.NET 做一個Transfer Learning的圖像分類notebook(去我的Github看看)     

       現在Jupyter NoteBook 的環境基本能完成大部分機器學習的場景,preview 1 整合了XPlot, 對於習慣看訓練效果的人來說是不錯的選擇。ML.NET 在不斷進步,雖然我現階段更多基於Python去做一些大型的數據集訓練,但不忘初心的我還是有一顆.NET心,我會基於ML.NET做更多的工作,當然也會投入精力到SciSharp的社區。感恩.NET Conf 2019 遇到的每一位 。 
       附上一些材料
       關於.NET Core 的機器學習NoteBook https://github.com/lokinfey/ICSharpCoreNoteBook  ,我會不斷添加哦。。。。。
       關於ML.NET  https://docs.microsoft.com/en-us/dotnet/machine-learning/ 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章