微软要让ML.NET框架也能用于开发深度学习应用

电子说

1.2w人已加入

描述

微软要让ML.NET框架也能用于开发深度学习应用,在0.5版本中开始支援TensorFlow模型,为了增加整体框架灵活度,未来将更换现行的LearningPipeline API。ML.NET 0.5,最大的更新便是开始支援TensorFlow,开发者可以在ML.NET中直接使用已经训练好的TensorFlow模型,进行评分(Scoring)。另外,微软正在开发新的ML.NET API,届时将会弃用现行的LearningPipeline API。

适逢.NET Conf 2018,微软顺势释出ML.NET 0.5,距离5月释出的ML.NET 0.1已经距离一段时间,这次带来巨大的更新,微软在ML.NET 0.5中,增加了TensorFlow模型评分转换(TensorFlow Transform)。微软提到,深度学习是人工智能和机器学习的子集,能够透过实例来学习人类自然习得的能力,与传统机器学习相比,深度学习可以直接从图像、声音以及文本中,学习物件侦测或是分类任务,甚至可以提供语音辨识以及语言翻译等功能,但传统的机器学习依赖特征工程以及资料处理。

深度学习模型需要大量标记资料以及多层类神经网路进行训练,微软认为,深度学习之所以会开始流行,除了对于电脑视觉任务表现良好外,刚好适用于现今资料爆炸情况。微软也想让ML.NET支援深度学习,因此透过新的TensorFlow Transform,在ML.NET中与TensorFlow进行第一阶段的整合,开发者可以自己训练或是从任何地方下载TensorFlow模型,在ML.NET中使用进行结果预测。

微软表示,这种整合方式,让开发者不需要具备TensorFlow内部细节知识,另外,从长远来看,使用ML.NET开发深度学习应用将更加容易。开发者只要增加ML.NET NuGet套件参照,到.NET Core或.NET Framework应用程式中就可以了。在ML.NET底层也是参照了原生TensorFlow函式库,让开发者可以撰写载入TensorFlow模型的程式码,并且进行评分。

不过,由于现在ML.NET使用TensorFlow仍然有一些限制,微软正在更新API以提高整体灵活性。目前使用LearningPipeline API时,只能在LearningPipeline中作为数字和向量输入,给分类器学习器(Classifier Learner)等学习器。但在即将要推出的全新ML.NET API,将能存取TensorFlow模型的分数,开发者可以直接使用TensorFlow模型进行评分,不像现在,还需要增加额外的学习器相关的训练程序。届时当新的API释出时,现行的LearningPipeline API将被弃用。

微软提到,虽然现在ML.NET框架支援了TensorFlow,未来也不排除整合其他诸如Torch和CNTK深度学习函式库。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分