您的位置:网站首页 > net源码 > 正文

利用ICSharpCore搭建基于

类别:net源码 日期:2020-3-16 21:42:22 人气: 来源:

  原标题:利用ICSharpCore搭建基于.NET Core的机器学习和深度学习的本地开发

  每个人都习惯使用Python去完成机器学习和深度学习的工作,但是对于习惯于某种特定语言的人来说,转型不是那么容易的事。这两年我花了不少时间在Python,毕竟工作的重心也从移动开发转为机器学习和深度学习。感谢我的老板给我很大的空间去开拓新的领域,但对于不少企业这种转型需要时间,的成本。我一直说,做编码就如打功夫,无论哪个门派都是一个技术栈,你寄望一套拳法可以把所有对手。现阶段最好的跨平台生态已经不再是Java , 你想到的是Java ,还有.NET 。或者不少人会有质疑,但现状就是这样。我今天不谈Java, 重点谈谈.NET Core. 自从微软重新去把.NET 重新规划后,不少的企业或者Startup也开始试水这个既熟悉又陌生的技术。如果你地着.NET , 你会为现在.NET 那七颗龙珠感到惊喜。从以往桌面/网页,到现在的移动,物联网,云计算,游戏,还有人工智能,更是一个跨平台的解决方案。

  在技术领域,一个完整的生态,少不了有不错的开源社区。现在.NET Core的开源社区在不断壮大,在机器学习和深度学习领域除了有支持的ML.NET外, 还有Miguel大神的TensorFlowSharp ,更可喜的是有一个基于.NET Core的机器学习和深度学习的技术开源社区SciSharp(。SciSharp 有不少和 Python 机器学习/深度学习的融入的项目,方便.NET Core的程序员无缝融入到机器学习/深度学习的中去,更重要一点是你可以继续用你的C#。如果你是一个.NETer,估计也会喜欢上这个开源的项目。毕竟从Jupyter Notebook的支持,到机器学习相关的Numpy.NET / NumpySharp, Pandas.NET , SciSharp , scikit-learn , 到深度学习的Tensorflow.NET , KerasuNET , Torch.NET ,还有自然语言的BotSharp , SpaCy.NET 都做了.NET Core的移植。一个技术生态好与坏,就看你的开源项目质量了。这是一个不错的开端。

  传统的机器学习/深度学习的工作方式,和我们写代码不一样,基于Jupyter Notebook ,通过ICSharpCore(你可以为Jupyter Notebook 添加C#的支持。如果你是传统程序员,你会喜欢IDE ,但在机器学习/深度学习的你更应该在Jupyter Notebook上开发。你可以通过Docker去部署这个(之前社区好友分享过文章),但考虑到更高性能个人推荐还是在本机运行。我来补充下在本机的一些配置方法,你还是得安装Python, 还是装3.6.x / 3.7 , 还有别忘记通过pip去安装jupyter(pip3 install jupyter),。毕竟这个解决方案还是得要一个标准的Python做支持。接下来就是一些很.NET Core的事情了

  因为ICSharpCore结合Roslyn编译器进行使用,所以你引用库时,也需要通过#r 进行使用,看两个基于ML.NET的notebook,是不是很cool呢?

  回头谈一些细节,现在SciSharp对于不同框架的绑定,无非两种,第一种像TensorFlow.NET是基于TensorFlow原生的C库做绑定,这种做法的优点是对Python的依赖少,更像原生实现,第二种就直接基于pythonnet(这个扩展去实现,这种做法就是桥接只需要做一些简单的语言扩展就可以快速实现功能,但有一个问题就是对本机Python依赖极高需要为不同版本的Python版本设置不同的dll,还有就是不够原汁原味了。但这两种方法其实对变量的设置都有要求,如TensorFlow.NET原生 就别忘记去设置TF的C库放置的变量径,还有如依赖于pythonnet的Keras.NET, Numpy.NET就别忘记指定好你本机Python版本的lib文件夹径,否则就会出现很多问题。我可是花了不少时间的。

  SciSharp在medium上有不少介绍和示例(,大家都去看看,当然我也会中英痦子的位置与命运文同步发一些原创文章给大家,也更多人在社区贡献代码和示例让它成为更优秀的.NET开源项目。

  

关键词:net源码搭建
0
0
0
0
0
0
0
0
下一篇:没有资料

相关阅读

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

CopyRight 2002-2012 技术支持 源码吧 FXT All Rights Reserved

赞助合作: