9

Windows ML,系统内置的机器学习平台初探

 4 years ago
source link: https://www.cnblogs.com/mantgh/p/9002027.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

人工智能现在很火,虽然最近风头隐隐有被区块链盖过,但仍是未来技术转型的首选方向之一。作为AI核心的机器学习,目前也进化到了可以基于平台自动训练模型的地步,例如Azure Machine Learning Service和Google AutoML Service。这使得训练模型的难度大大降低,开发人员可以分出更多精力关注在训练好的模型应用上。

在这种背景下,各个操作系统平台纷纷推出内置的机器学习框架/运行环境,iOS有CoreML,Android有TensorFlow。Windows在最近的RS4(build 1803)更新之后,也正式内置了机器学习平台- Windows ML

599309-20180507092635670-1190434747.png

Windows ML是什么?


Windows ML是Windows全新的内置机器学习平台,用于本机执行预训练的机器学习模型,并提供了API允许我们快速集成到应用中。

它的亮点如下:

  • 支持硬件加速

在兼容DirectX 12的设备上可以直接使用GPU加速运算,确保机器学习模型可以被高效执行。

不依赖于任何远程服务,不受任何网络连接限制,本机即可达到低延迟高性能的执行效果。

  • 图像处理优化

针对计算机视觉场景,对视频、图像和相机数据统一预处理为VideoFrame形式,简化图像处理流程。


 

599309-20180507121322949-496229270.png

Windows ML目前仅支持执行ONNX格式模型,其他格式需要预先转换后再使用。

ONNX是由微软、Facebook和英特尔等公司推出的一个通用开放的机器学习模型格式,官方支持现有机器学习框架对其转换。ONNX项目地址

支持转换的现有模型来源:

  • Core ML
  • Scikit-Learn
  • XGBoost
  • LibSVM

使用的转换工具为微软提供的WinMLTools:https://pypi.org/project/winmltools/

转换工具使用教程请参考官方文档:https://docs.microsoft.com/en-us/windows/uwp/machine-learning/conversion-samples 


在安装了Windows SDK Build 17110或更新版本后,默认会为Visual Studio 2017项目添加模型代码生成工具mlgen.exe。它可以根据添加的ONNX模型文件,Visual Studio 2017 Preview自动生成C#/CX的定义文件,方便代码直接调用。

这里以FNS-La-Muse模型为例,这是一个可以将图像转为特定风格的模型。

599309-20180507120927765-192219649.png

生成的代码如下:

ContractedBlock.gifExpandedBlockStart.gif

View Code

 目前由于SDK仍在预览中,所以Visual Studio正式版并不会自动调用mlgen工具生成定义文件,需要手动执行如下命令:

mlgen -i INPUT-FILE -l LANGUAGE -n NAMESPACE [-o OUTPUT-FILE]
  • INPUT-FILE: ONNX模型文件
  • LANGUAGE: C++或者C#
  • NAMESPACE: 命名空间
  • OUTPUT-FILE: 输出路径,可缺省

有了Windows ML后我们可以实现以前难以实现的机器学习特性,同时不用依赖外部web service,很多创新的体验可以实现,不仅仅是在PC,甚至在HoloLens上同样可以运用机器学习的能力。

最后给大家安利下我的开源项目- Awesome WindowsML ONNX Models ,这个项目除了提供我已经验证过的模型外,还提供了CoreML模型的快速转换工具。

 

599309-20180507121732233-2018151747.png

 同时我也在开发为HoloLens编写的Demo,最近将会和大家见面


Recommend

  • 99
    • www.cocoachina.com 7 years ago
    • Cache

    初探机器学习框架Core ML

    website upgrading… 京ICP备1100651...

  • 51

    本文转载自公众号“宜信技术学院”,原标题为《AI 中台:一种敏捷的智能业务支持方案》。 随着“数据中台”的提出和成功实践,各企业纷纷在“大中台,小前台”的共识下启动了自己的中台化进程,以数据中台、技术中台、业务中台为代表的...

  • 18

    Michelangelo 是 Uber 的机器学习(ML)平台,可以训练并服务于整个公司范围内生产环境中的数千种模型。该平台被设计成了一个端到端的工作流,目前支持经典的机器学习、时间序列预测和深度学习模型,可以涵盖大量的用例,从生成市场预测、...

  • 13
    • tech.youzan.com 4 years ago
    • Cache

    接口越权扫描平台初探

    一、背景介绍 在网上,大家经常可以看到诸如数据库被拖库、用户信息泄露等因为安全漏洞引发的问题,给用户和公司都造成了较大的损失。随着公司业务快速发展、功能增多、用户数目不断增加,安全问题越来越成为一个必须重视的问题。 在实践安全...

  • 10

    引子:在机器学习中,可解释性的概念既重要又难以捉摸。我们能相信模型吗?它在部署过程中会起作用吗?关于这个世界,模型还能告诉我们什么?模型不仅应该是好的,而且应该是可以解释的,然而,可解释性似乎没有具体的说明和定义。本文编...

  • 0
    • 微信 mp.weixin.qq.com 4 years ago
    • Cache

    android平台eBPF初探

    一、eBPF是什么 eBPF是extended BPF的缩写,而BPF是Berkeley Packet Filter的缩写。对linux网络比较熟悉的伙伴对BPF应该比较了解,它通过特定的语法规则使用基于寄存器的虚...

  • 5

    小米竟然造了一只名叫铁蛋的“狗”?可没那么简单。无论是海外大名鼎鼎的波士顿机械狗,还是牛年春晚...

  • 8

    编辑导语:本文作者从视频搜索的特点、优势、存在问题和未来发展等方面,以具体的视频平台为例,对不同平台中视频搜索的特点进行了分析,感兴趣的小伙伴们一起来看一下吧。

  • 6

    ​​想了解更多关于开源的内容,请访问:​​​...

  • 12

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK