微软将人工智能嵌入Windows 10更新

下一轮Windows 10更新为Windows应用程序与人工智能功能的集成提供了新途径,将直接令数以亿计的个人电脑、平板、IoT边缘设备等Windows设备受益。

新版Windows ML平台可供开发者直接通过Visual Studio将预先训练好的深度学习模型与自己的应用程序集成,在导入VS工具前,模型必须转换为Open Neural Network Exchange(ONNX)格式。

ONNX是一种开源的机器学习框架,由微软和Facebook在2017年9月发布,随后AWS也加入了这一项目。ONNX使得不同神经网络框架可以相互移植,将使用诸如Pytorch、Apache MxNet、caffe2或Microsoft Cognitive Toolkit(CNTK)等工具训练的模型能够转换为ONNX格式,并应用在Windows应用程序中。包括NVIDIA、Intel、Qualcomm以及AMD在内的众多Windows硬件供应商已经开始支持该格式,并发布了面向ONNX优化的硬件。

微软的很多应用程序和服务中均已广泛应用了人工智能技术,例如图像和面容处理、搜索结果相关性、语音识别以及数据安全等。这些AI功能依赖在云端训练的模型,需要耗费密集的计算资源。然而对于云端API的以来会导致产品功能在使用过程中遇到延迟,让用户产生与数据隐私有关的顾虑,并且会增加设备能耗。

借助Windows ML与ONNX的配合,需要耗费大量计算能力的模型训练过程依然可以放在云端进行,但推理和计算操作可以直接在应用程序中进行。这样便可脱机使用,可降低能耗,避免需要外传私密数据,同时由于延迟大幅降低还可实现实时处理。在构建模型的过程中,开发者和数据科学家依然可以根据习惯选择自己最适应的框架,随后可将训练好的模型转换为ONNX格式,并将转换后的模型集成到Windows应用程序中。

据Gartner的调研,设备上的人工智能能力,其潜在用例主要将围绕个人助理、欺诈检测、设备资源优化或虚拟现实等。嵌入式的人工智能能力还能让需要直接使用用户私密数据的应用程序,如医疗健康诊断、个性化书写工具、生物特征身份验证等工具获益。

Windows ML并非仅限深度学习模型,同样可用于导入来自其他框架的经典机器学习模型,例如Core ML、Scikit-Learn、XGBoost以及LibSVM。

Apple也按照类似方式提供了CoreML模型格式。CoreML是一种Python软件包,可将多种类型的模型转换为CoreML模型格式,并集成到macOS和iOS应用中。CoreML更倾向于经典机器学习模型,例如Scikit-Learn、LIBSVM和XGBoost,并且仅支持Caffe V1和Keras 1.2这两个深度学习框架。此外Google也在通过TensorFlow Lite框架将机器学习能力带到运行Android的移动设备上。

虽然TensorFlow和Core ML并不兼容ONNX,但社区项目提供的ONNX-TensorFlow以及ONNX-CoreML库可分别将相应的模型转换为ONNX格式。

人工智能技术的应用范围正在飞速增加,而这一趋势与将一定程度的机器学习能力嵌入IoT设备以改善效率的做法不谋而合。通过将人工智能能力直接推进到距离最终用户更近的设备和应用程序中,微软、Google和Apple正在努力跑完人工智能之路的最后一公里。

相关文章:

  • Microsoft AI - Custom Vision in C#

原文地址:http://www.infoq.com/cn/news/2018/03/microsoft-ai-windows10


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

24、mysql连接线程的show和kill

1、登陆到mysql服务器 Mysql –h ip –u 用户名 –p 密码; 2、检查当前连接的线程 show full processlist 或 show processlist 或 selelct * from information_schema.processlist; Id:线程标识 User:当前用户 Host:sql的来源,i…

动态规划训练8 [E - Multiplication Puzzle POJ1651]

Multiplication Puzzle POJ - 1651 题意: 在一个序列中,拿走一个数字,那么得分就是这个数字以及它相邻的两个数字,这三个数字的乘积。求最小得分。 这道题乍一看感觉是区间DP,但是需要逆向思考的技巧。 记dp[i][k]…

牛客-复读数组

正题 题目链接:https://ac.nowcoder.com/acm/contest/1103/A 题目大意 将一个长度为nnn的数组复制成kkk份,然后每个区间的值是一个区间中不同的数的数量,求每个非空区间的值和。 解题思路 若一个区间长度>n>n>n那么他们的值是固定的&#xf…

ASP.NET Core MVC 2.1 顶级参数验证

本文讨论ASP.NET Core 2.1中与ASP.NET Core MVC / Web API控制器中的模型绑定相关的功能。虽说这是一个功能,但从我的角度来看,它更像是一个错误修复!请注意,我使用的是 NET Core 2.1 Preview 1,正式版发布后&#xff…

25、sql分析命令explain和desc

explain和desc命令的效果相同,命令格式如下: mysql> explain SELECT s.id sid, s.name sname , t.id tid ,t.name tname FROM student s LEFT JOIN teacher t ON s.name t.name; --------------------------------------------------------------…

P2290-[HNOI2004]树的计数【组合数,Prufer序列】

正题 题目大意:https://www.luogu.org/problem/P2290 题目大意 一棵树无根树第iii个点的度数为did_idi​,求树的数量。 解题思路 更具pruferpruferprufer序列的推论我们可以知道答案就是(n−2)!∏i1n(di−1)!\frac{(n-2)!}{\prod_{i1}^n(d_i-1)!}∏i1n​(di​−1…

动态规划训练9 [Brackets POJ - 2955 ]

Brackets POJ - 2955 再明显不过的区间DP的题目了,要求求出给出符号式中最大匹配的括号数。 考虑区间[l,r],如果str[l]与str[r]匹配了,那么转移方程为dp[l][r] max(dp[l][r],dp[l1][r-1] 2); 然后考虑将区间分成2部分 dp[l][r] max(dp[l…

.net core2.0下Ioc容器Autofac使用

Autofac基本使用Autofac是一款轻量级的IOC框架,使用率上还是挺高的,官方网站http://autofac.org,源码下载地址https://github.com/autofac/Autofac。下面以狗的列子来介绍autofac,nuget搜索Autofac进行安装public interface IDog{…

java实现下载时进度条提示

1、实现原理 计算出已经处理的数据记录数与所有需要导出的数据记录数的比例,根据每一个登陆用户的不同将比例存入缓存中,前台设计一个定时器,每隔一段时间去缓存中获取比例,然后根据比例来展示一下下载的进度。 2、具体代码实现 …

动态规划训练10 [Coloring Brackets CodeForces - 149D]

西安交大 软件53 蔡少斐 整理Coloring Brackets CodeForces - 149D 题目大意: 给定合法的括号序列,让你给括弧上色,并且上色时一定要满足3个要求: (1)每个括号要么被上红色,要么被上蓝色&…

微软重组变两大事业部:Windows主管离职

微软CEO纳德拉通过内部邮件宣布,整个公司进行重大重组,划分为两个新的事业部(部门),同时Windows业务主管Terry Myerson(特里梅尔森)将离开微软。Terry Myerson最为人诟病的就是推倒了Windows Mobile而打造全新的Windows Phone,结果…

jzoj3846-七天使的通讯【二分图判定】

正题 题目链接:https://jzoj.net/senior/#main/show/3846 题目大意 长度nnn的直线,mmm条线,将它们分成两边,使同一边不交叉,求是否有方案。 解题思路 将会交叉的直线之间连接边,然后判断是否是二分图即可。 codecod…

41、java应用占用cpu过高原因分析

线上服务器cpu占用过高问题排查 1、定位最耗cpu的进程 命令:top 2、定位最耗cpu的线程 命令:Top –Hp PID 例如:Top –Hp 12086 3、打印线程堆栈信息 命令:Printf ‘%x\n’ PID 例如:printf ‘%x\n’ 12118 先将…

动态规划训练11 [String painter HDU - 2476]

String painter HDU - 2476 题意: 我认为这是一道比较难的问题,自己想了很久,没有想出来怎么做,可能是因为思维僵化吧,一直在想怎么直接的由A变到B,事实上,可以有中间桥梁连接A和B,…

Google Optimization Tools介绍

Google Optimization Tools(OR-Tools)是一款专门快速而便携地解决组合优化问题的套件。它包含了:约束编程求解器。简单而统一的接口,用于多种线性规划和混合整数规划求解,包括 CBC、CLP、GLOP、GLPK、Gurobi、CPLEX 和SCIP。图算法 (最短路径…

11、mysql数据表中数据的查询(3)

说一下子查询,子查询的意义就是使用一个查询语句做为另一个查询语句的条件,一般使用exists和in来引导子查询 exists子查询 exists 放在 where 之后使用,可以看成查询数据所满足的一个条件,只是这个条件的值比较特殊(…

jzoj3847-都市环游【矩阵乘法】

正题 题目链接:https://jzoj.net/senior/#main/show/3847 题目大意 nnn个点mmm条边,第iii个点要求hih_ihi​时才可以到达。求经过ttt时从点1到点nnn的方案数。 解题思路 因为hih_ihi​较小,设zi,kz_{i,k}zi,k​表示iii时到kkk的方案数,转移…

使用.Net Core与Google Optimization Tools实现员工排班计划Scheduling

上一篇说完《Google Optimization Tools介绍》,让大家初步了解了Google Optimization Tools是一款约束求解(CP)的高效套件。那么我们用.Net Core与Google Optimization Tools来实现一个有关员工排班计划的场景感受一下。众所周知,…

动态规划训练12 [G - You Are the One HDU - 4283 ]

2012天津区域赛的一道题目,题目链接如下 You Are the One HDU - 4283 这道题目要说思想的话其实并不是很难,但是我却没做出来。关键就在于读题读不懂(How Vegetable I am!),到最后搜了别人的题解才明白这道…

42、Java服务内存OOM原因分析

1、出现问题的可能原因 对于应用来说内存分配太少 对象创建太多,又没有释放,造成内存泄漏严重,导致内存耗尽 申请太多的系统资源,系统资源耗尽。例如:不断创建线程,不断发起网络连接 2、如何定位问题&a…