使用ModelBuilder进行自动化机器学习

在这个机器学习大火的时代,众多学生投身机器学习研究的同时,机器学习的一些缺陷也被暴露了出来:

  • 大模型训练缓慢

  • 在很多情况下表现不如传统算法,以致于很多时候表现鸡肋

  • 生成环境中使用机器学习的方式尚不完善(存在一些性能问题)

  • 一些方向机器学习已经获得一些成熟的结果,但是缺少直接使用的方法

而正好, .Net生态正处于缺少机器学习系统的尴尬处境(毕竟号称万能框架),所以近几年微软开始研究基于 .Net的新的机器学习框架:ML .Net。据研究人员称此框架的研发目的在于让 .Net开发者方便的利用已有的开发技术,快速将机器学习应用于自己的项目中,而不是研发新的模型。所以ML .Net的api和tensorflow、pytorch等用于高度自定义模型的框架大不一样,它更加简洁,封装等级高得多。
而其最新的研究成果:自动机器学习可视化系统Model Builder已经与最新版的visual studio集成,该系统可以帮助完全不会机器学习的小白把机器学习应用于自己的项目中。
本文重点介绍Model Builder的安装和使用。

安装

打开vs installer,点击修改

然后按照下图顺序操作,确保选中ML.NET 模型生成器(预览) 后点击修改即可。

使用

1.开启Model Builder

打开vs,右键你的项目,按照下图所示操作

点击完成后,vs可能会提示你是否启用Model Builder,按照提示启用就行了。

2.选择图像识别服务

成功开启Model Builder后,你应当进入以下所示页面

今天我们拿图像识别来举例。因为我没有买Azure的服务,所以环境选择本机训练。

3.选择数据

然后下一步,进入选择数据页面。此页面右边有数据结构提示,一个目文件夹下若干个子文件夹,子文件夹名称为训练的label(即该文件夹中图片的分类)。这里方便起见,我只设置了两个类:飞机和坦克。

4.开始训练

Model Builde的图像识别基于迁移学习,所以需要下载一个约90mb大小的预训练模型,这个模型的地址因为在国外,所以下载容易超时。为避免这个问题,请大家在第一次开始训练前,打开输出/output窗口,训练的时候该窗口会出现很多的log信息,其中有一句话包括两个重要信息 其中第一个是所需要模型的地址url,第二个是下载到的本地dir。所以大家可以在看到这条信息后停止训练,复制url去迅雷下载,下载完毕后复制到信息中的dir下,然后重新开始训练。

开始训练后,我们可以泡一杯咖啡,休息一下,等待训练的完成☕。

5.测试模型

训练完成后,你就可以测试他的准确度了

6.生成代码

接下来如果满意的话,点击code一键生成代码。

Next

接下来你就可以编程使用你的模型了!至于具体如何使用,请大家自行研究自动生成的console项目的代码。
希望大家通过研究Model builder的这个例子能够理解c#项目之间的相互引用。


本文章使用limfx的vsocde插件快速发布