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/ 

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