人工智能 ?.NET Core一样胜任
转自:liuliang79 cnblogs.com/liuliang79/p/13393479.html
前言
提起AI,大家都会先想到Python,确实Python作为一门好几十年的老语言,上一波的AI大流行使它焕发了青春。
大家用Phtyon来做AI,最主要的原因无非就是编码量更少,很多数学和AI相关的Api都是现成的。
但是随着ML.net的问世,我们现在可以在.NET Core平台上使用比Python更少的代码来实现AI的功能了。
读到这里是不是以为这篇文章是喷概念的?必须不是啊,干货来了
然后在visual studio的 工具->选项中,选择展示预览功能
从这里我们也可以看出,微软已经计划在后续的visual studio中将ML.NET作为默认工具集成进来了。
安装完毕之后,随便建一个.netcore的项目,控制台的就可以。右键点击添加就会看到ML.NET的选项
点击之后会有图形界面,然你从几种常见的需求中选择,比如语义识别,图像识别,数值预测等,后续它还会支持图片中物体识别等更复杂的需求。
整个过程非常直观,按照它的界面一步一步走就可以,它最终会帮你训练模型并生成使用模型和再次训练模型的代码。
三、 实战演示
公司内部已有app需要增加一些额外功能,用户用手机截图上传的时候,系统需要判断图片有没有最上方的状态栏。由于手机本身系统的不同,再加上安卓手机状态栏基本上都能自定义,所以状态栏的样式是五花八门的,传统方式很难实现这个需求。
最终我们使用WTM+ML.NET快速搭建了一个AI图片分类的平台,这个平台的功能包括:
最终我们使用了七千多张带状态栏的图片,和两千多张不带状态栏的图片训练完成了这个模型,准确率可以达到95%。后续通过人工标注和增量训练这个准确度还可以提高。
这个系统目前已经上线,为一个40万日活的App提供图片识别服务,表现相当稳定。