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

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

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

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

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

ML.Net主要特点:

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

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

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

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

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

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

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

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

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

三、 实战演示

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

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

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

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

Talk is cheep, show me the code?

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

(0)

相关推荐

  • 【AI技术】智能抠图神器-AIPIX

         人工智能技术简称AI,目前已经成为当今互联网技术发展的主要方向,从生活中的百度智能音箱"人机对话"到企业提供技术服务的"在线机器人"都是人工智能技术的 ...

  • 如何为.NETCore安装汉化包智能感知

    引言 具体不记得是在群里还是什么地方有人问过,.NETCore有没有汉化包,答案是有,目前微软已经为我们提供了.NETCore多种语言的语言包.下面看看如何安装与使用吧. 本文介绍: 如何安装这些下载 ...

  • 图片不清晰?一键AI人工智能将图片放大!

    [适用平台] macOS.Windows.iOS.Android均有客户端 [网站地址] https://bigjpg.com/ [支持功能] 支持常见的照片.动漫插画等类型图片一键智能放大! [推荐 ...

  • 【AI应用】||1秒搞定抠图

          人工智能技术简称AI,目前已经成为当今互联网技术发展的主要方向,从生活中的百度智能音箱"人机对话"到企业提供技术服务的"在线机器人"都是人工智能技术 ...

  • Linux服务器部署.Net Core笔记:三、安装.NetCore运行环境

    Linux服务器部署.Net Core笔记:三、安装.NetCore运行环境

  • 通过情感AI重新定义沟通 我们从人工智能中看到更高的情商

    本文由Rehoo团队Tin原创,无授权禁转!(图片来自网络) 图片来自网络 我们认为人工智能与其实际可行的东西之间一直存在着鸿沟.我们的电影,文学和视频游戏表示"智能机器",将AI ...

  • .Net Core 智能提示汉化包

    在.Net Core 2.x 版本,Microsoft 官方没有提供 .Net Core 正式版的多语言安装包.因此,我们在用.Net Core 2.x 版本作为框架目标编写代码时,智能提成是英文的. ...

  • 专业理论 | 人工智能视域下教师教学胜任力的特质与操作模型!

    人工智能正在掀起智能教学系统建设与应用的热潮,这对教师的教学胜任力发展提出了更高 的要求.数字化背景下教师的教学胜任力体现为知识学习与整合.技术应用.课堂实施能力.情感态度. 教学意识和教学设计能力六 ...

  • 浅析人工智能的发展方向

    众所周知人工智能现如今正在高速发展,并且深入人们的生活和工作中,这不仅对人工的生活和工作提供了便利,同时也对人们未来的生活产生了影响.那么未来人工智能的发展方向主要在哪些方面? 一是在治疗方面,开发出 ...

  • 人工智能主要技术及细分领域

    目前在提起人工智能的时候,很多人都会想起人工智能的分支有很多,并且深入应用到人们的生活和工作当中,但是如果要问人工智能的主要技术及细分领域,其实并没有多少人清楚. 人工智能主要技术及细分领域如下: 智 ...

  • 百度出品:人工智能 数字水务报告(全文)

    本报告书由国际水协会和百度共同撰写,以人工智能赋能水务行业的国内外案例分析为重点,从水务行业数字化转型的重要趋势和使命着笔,深入探讨人工智能在水务行业价值链上发挥的重要作用.百度凭借其在专业领域的深厚 ...

  • 任职资格/素质/能力/胜任力模型有啥区别?

    前天有伙伴问我,任职资格.能力模型.素质模型.领导力模型有啥区别?我感觉我肯定3句话说不清楚的,于是整理了一些内容,以供大家参考.如你有不同见解,欢迎斧正. 一.任职资格 任职资格的核心思想源于英国国 ...

  • 人工智能最可能取代的十大职业

    早在1956 年的Dartmouth学会上,"人工智能"这个概念就被研究者们所提出.经过了六十年的发展进化,人工智能早已与人们的生活息息相关.而今,人工智能又进军到人类的职业领域, ...

  • 自监督学习: 人工智能的未来

    导读 什么是自监督学习?为什么自监督学习是AI的未来?自监督学习如何实现? 本文将回顾下自监督学习的前世今生,介绍它在CV.NLP.Graph.RecSys.RL等领域已经取得的令人惊叹的效果! 1. ...

  • 大国竞争时代人工智能如何抵御数据欺骗攻击?

    鹰,搏击长空而无畏. 鹰,大千尽览而敏锐. 鹰,动如雷霆而持重. 海鹰资讯,力求以鹰一般的气魄.视野和迅捷去打造专业的情报资讯,让繁复世界中最有价值的情报尽收眼底. 作者 北京海鹰科技情报研究所 韩雨 ...

  • 陈根:人工智能助力医疗,追溯癌症起源

    文/陈根 人工智能在医疗卫生领域广泛应用正形成全球共识.可以说,人工智能以独特的方式捍卫着人类健康福祉,除了在诊疗手术.就医管理.医疗保险发挥作用,基于算法的人工智能近年来更是推动着疾病诊断与药物研究 ...