人工智能?.netcore一样胜任!

摘要:
但是随着ML.net的出现,我们现在可以使用netcore平台比Python更少的代码来实现AI功能。目前,我们对人工智能的所有主张都只是机器学习,与真正意义上的人工智能相去甚远。安装完成后,可以创建的项目。netcore,这在控制台上可用。没问题,欢迎参加我们的CSDN课程https://edu.csdn.net/course/detail/27568,或在csdn中搜索WTM以查找我们的视频教程。

提起AI,大家都会先想到Python,确实Python作为一门好几十年的老语言,上一波的AI大流行使它焕发了青春。大家用Phtyon来做AI,最主要的原因无非就是编码量更少,很多数学和AI相关的Api都是现成的。但是随着ML.net的问世,我们现在可以在.netcore平台上使用比Python更少的代码来实现AI的功能了。

MLMachine Learning的缩写,从命名上可以看出微软对于对于AI的现状还是有非常清醒的认识的。目前我们所有声称的人工智能其实只是机器学习,离真正意义上的人工智能还差的很远。这也是为什么,AI这个概念几乎每十年就火一次,然后陷入沉寂,因为我们在算法上其实始终没有突破,只是硬件比以前强大了,算的比以前快了而已。

上一波的AI创业大军已经纷纷倒下了,这也使我们认识到目前AI的水平是很难独立支撑一块完整的创新业务的,但是作为已有系统的补充,作为数据分析的工具,AI还是很有用的,尤其是在图像识别,语义分析,数值预测等已有成熟算法的领域。

读到这里是不是以为这篇文章是喷概念的?必须不是啊,干货来了:

ML.Net主要特点:

跨平台,开源,使用简单,支持Tensorflow等扩展

一、 使用ML.Net的图形化工具生成机器学习代码

目前的Visual Studio 2019已经包含了ML.Net的图形化工具,只不过还是预览版,需要你手动开启,首先在Visual Studio Installer里安装的功能中勾选ML.Net

人工智能?.netcore一样胜任!第1张

然后在visual studio的 工具->选项中,选择展示预览功能

 人工智能?.netcore一样胜任!第2张

从这里我们也可以看出,微软已经计划在后续的visual studio中将ML.NET作为默认工具集成进来了。

安装完毕之后,随便建一个.netcore的项目,控制台的就可以。右键点击添加就会看到ML.NET的选项,

人工智能?.netcore一样胜任!第3张

点击之后会有图形界面,然你从几种常见的需求中选择,比如语义识别,图像识别,数值预测等,后续它还会支持图片中物体识别等更复杂的需求。整个过程非常直观,按照它的界面一步一步走就可以,它最终会帮你训练模型并生成使用模型和再次训练模型的代码。

 人工智能?.netcore一样胜任!第4张

二、 手动引用Nuget包进行开发

在已有项目中手动添加AI的支持,只需要从Nuget上手动引用Microsoft.ML包,以及其他任务相关的包,如果需要使用tensorflow训练的模型,则需要引用SciSharp.TensorFlow.Redist包。训练和使用模型的代码都比较简单,根据机器学习的类型不同,少则10几行,多则几十行代码就可以完成训练的编码。

 人工智能?.netcore一样胜任!第5张

三、 实战演示

公司内部已有app需要增加一些额外功能,用户用手机截图上传的时候,系统需要判断图片有没有最上方的状态栏。由于手机本身系统的不同,再加上安卓手机状态栏基本上都能自定义,所以状态栏的样式是五花八门的,传统方式很难实现这个需求。最终我们使用WTM+ML.NET快速搭建了一个AI图片分类的平台,这个平台的功能包括:

  1. 可维护多种图片识别的任务。虽然目前的需求只有状态栏识别这一个,但是系统应该支持多种图片任务。
  2. 每种任务可以自定义具体分类
  3. 每种任务可以指定不同的图片预处理操作,比如状态栏识别这个任务应该在训练和识别之前对原始图片进行裁剪,只判断上方80像素高的区域。
  4. 提供后台界面允许管理人员对数据进行标注
  5. 允许在线增量训练
  6. 提供对外API接口,使其他系统可以使用该api来进行图片识别的工作
  7. 其他通用模块,如日志,用户,权限等

 

以上的需求我们用了不到一个工作日,使用WTM+ML.NET就快速实现了,当然准备初次训练所需的图片用了两周的时间。最终我们使用了七千多张带状态栏的图片,和两千多张不带状态栏的图片训练完成了这个模型,准确率可以达到95%。后续通过人工标注和增量训练这个准确度还可以提高。

 

这个系统目前已经上线,为一个40万日活的App提供图片识别服务,表现相当稳定。

 人工智能?.netcore一样胜任!第6张

Talk is cheep, show me the code?

没问题,欢迎来我们在CSDN上的课程 https://edu.csdn.net/course/detail/27568 或者在csdn里搜索WTM找到我们的视频教程。里面有完整的从0开始开发上述系统的视频讲解,并有完整的源代码。 源码不是公司的哦,公司用的Layui,我又用VUE重新写了一遍。 用了WTM,这都不是事儿,快得很。

 

人工智能?.netcore一样胜任!第7张

免责声明:文章转载自《人工智能?.netcore一样胜任!》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何将txt中的数据整理到Matlab中画图Linux分区方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

机器学习之类别不平衡问题 (3) —— 采样方法

机器学习之类别不平衡问题 (1) —— 各种评估指标 机器学习之类别不平衡问题 (2) —— ROC和PR曲线 机器学习之类别不平衡问题 (3) —— 采样方法 完整代码 前两篇主要谈类别不平衡问题的评估方法,重心放在各类评估指标以及ROC和PR曲线上,只有在明确了这些后,我们才能据此选择具体的处理类别不平衡问题的方法。本篇介绍的采样方法是其中比较常用...

热点 | 四月最佳Github项目库与最有趣Reddit热点讨论

来源:Analytics Vidhya 编译:磐石 【磐创AI导读】:Github是全球最大的开源代码社区,Reddit是最受大家欢迎的热点讨论交流平台。接下来磐创AI将为大家带来四月份Github最佳项目库介绍与Reddit热点评论一览。 目录 介绍 Github月度最佳项目库 Reddit热点讨论 介绍 对于数据科学和机器学习,GitHub和Reddi...

Deep Learning基础--线性解码器、卷积、池化

本文主要是学习下Linear Decoder已经在大图片中经常采用的技术convolution和pooling,分别参考网页http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial中对应的章节部分。   Linear Decoders:   以三层的稀疏编码神经网络而言,在sparse a...

Hadoop2.7.3集群安装scala-2.12.8 和spark2.7

Apache Spark™是用于大规模数据处理的统一分析引擎。 从右侧最后一条新闻看,Spark也用于AI人工智能 spark是一个实现快速通用的集群计算平台。它是由加州大学伯克利分校AMP实验室 开发的通用内存并行计算框架,用来构建大型的、低延迟的数据分析应用程序。它扩展了广泛使用的MapReduce计算 模型。高效的支撑更多计算模式,包括交互式查询和...

基于Emgu CV+百度人脸识别,实现视频动态 人脸抓取与识别

总目录地址:AI 系列 总目录  需要最新源码,或技术提问,请加QQ群:538327407 我的各种github 开源项目和代码:https://github.com/linbin524 背景 目前AI 处于风口浪尖,作为 公司的CTO,也作为自己的技术专研,开始了AI之旅,在朋友圈中也咨询 一些大牛对于AI 机器学习框架的看法,目前自己的研究方向主要开源...

【AI测试】人工智能 (AI) 测试--第二篇

测试用例 人工智能 (AI) 测试 或者说是 算法测试,主要做的有三件事。 收集测试数据思考需要什么样的测试数据,测试数据的标注 跑测试数据编写测试脚本批量运行 查看数据结果统计正确和错误的个数,查看错误的数据中是否有共同特征等 而编写测试用例,主要是围绕数据来进行。为更好的设计测试用例,首先需要了解一些项目的情况。这些东西如果在《需求文档》中就有描述...