ML.NET 9月更新

 

介绍

ML.NET是面向.NET开发人员的开源、跨平台机器学习框架。它使您可以将机器学习集成到您的.NET应用程序中,而无需离开.NET生态系统甚至无需拥有ML或数据科学背景。ML.NET提供了工具(Visual Studio和跨平台ML.NET CLI中的模型构建器UI),可根据您的场景和数据自动为您训练自定义机器学习模型。

ML.NET1.5.2)的此版本带来了许多错误修复和增强功能,而工具更新包括通过模型构建器使用Azure ML训练对象检测模型的能力。现在,您还可以使用ML.NET CLI在本地训练图像分类模型。

在模型构建器(Model Builder)中进行对象检测

对象检测是计算机视觉问题。尽管与图像分类密切相关,但是对象检测可以更精细地执行图像分类。对象检测可以对图像中的实体进行定位和分类。当图像包含多个不同类型的对象时,请使用对象检测。

用于对象检测的一些用例包括:

  • 无人驾驶汽车
  • 机器人技术
  • 人脸检测
  • 工作场所安全
  • 对象计数
  • 活动识别

虽然以前ML.NET通过ML.NET API提供了使用经过预训练的TensorFlowONNX模型进行对象检测的功能,但是您现在可以在Visual Studio中使用模型构建器来利用AzureAutoML的能力来训练自定义对象检测模型。

选择对象检测方案并在模型构建器中设置Azure ML工作区之后,必须输入数据。当前,模型构建器不提供注释图像的方法,因此您必须使用外部工具在训练图像中的对象周围绘制边界框。

如果您需要标记图像,我们建议尝试使用VoTT,这是一种用于图像和视频资产的开源注释和标记工具。

下载VoTT之后,您可以创建一个新的VoTT项目并从本地文件系统中选择一个数据集(Azure Blob存储和Bing图像搜索也是选项,但是模型构建器当前仅支持来自本地数据集的训练)。这只是一个文件夹,其中包含您要注释的所有图像。

为源连接(Source Connection)选择图像数据集的文件夹路径后,即可为目标连接选择输出文件夹。

您可以跳过视频设置,然后添加标签(您要在图像中检测到的所有对象):

保存项目后,将显示在源连接(Source Connection)文件夹中找到的所有图像,您可以像这样开始标记图像:

完成标记后,可以转到导出部分(左侧工具栏上的第4个图标),选择“VoTT JSON”作为提供者,选择仅标记的资产作为资产状态(包括图像是可选的)。当您单击保存导出设置时,将在创建VoTT项目期间指定的目标连接文件夹中生成VoTT JSON

VoTT JSON如下所示:

然后,您可以将此VoTT JSON用作模型构建器中数据步骤的数据集输入。

模型构建器当前仅接受由VoTT生成的JSON格式,但是我们计划在将来增加对更多格式的支持。如果您希望在模型构建器中看到一种支持对象检测的数据集格式,请将您的反馈意见保留在GitHub

输入数据并移至模型构建器中的训练步骤后,您可以单击开始训练,它将数据上传到Azure并开始使用Azure ML进行训练。培训完成后,将下载经过培训的ML.NET模型,以便您可以在本地对其进行测试。

评估步骤中,您可以查看模型的准确性以及对测试图像进​​行预测:

每个检测到的边界框上显示的分数表示检测到的对象的置信度。例如,在上面的屏幕快照中,猫周围边界框上的分数表示该模型对检测到的对象是猫的把握率为77%。

可以使用阈值滑块增加或减少的分数阈值,将基于检测到的对象的分数添加和删除它们。例如,如果阈值为.51,则模型将仅显示得分/置信度为.51或更高的对象。随着阈值的增加,将看到更少的检测到的对象,而当阈值减小时,将看到更多检测到的对象。

对模型的性能满意后,可以在模型构建器代码步骤中生成模型和使用代码,并将模型集成到最终用户应用程序中。

ML.NET CLI中的图像分类

除了分类,回归和推荐以外,您还可以使用跨平台ML.NET CLI在本地训练自定义图像分类模型。

该场景所需的全部就是您想要用于训练的图像数据集。例如,让我们看一下天气示例,您想在其中将图像分类为下雨、多云或晴天。

首先,您需要确保您的图片格式正确,该文件夹是一个将照片整理到单独的带标签的子文件夹中的文件夹,如下所示:

在这种情况下,每个文件夹包含30张相应天气的图像。

一旦有了数据集,就可以在ML.NET CLI中使用以下命令来开始训练:

mlnet image-classification --dataset “Weather-Small”

训练完成后,CLI将输出模型的准确性,并将生成必要的项目以供模型使用和重新训练:

ML.NET 1.5.2

上个月,我们发布了ML.NET 1.5.1,该版本的回归已由ML.NET 1.5.2修复。因此,我们建议您跳过1.5.1并更新为1.5.2

此版本还解决了30多个报告的错误,并添加了ONNX增强功能以​​支持更多类型的ONNX导出。

您可以在1.5.2发行说明中看到更多信息。

反馈

我们很乐意倾听您的反馈!

如果您遇到任何问题,请在GitHub仓库中创建问题(或使用模型构建器中的新反馈按钮!)来通知我们:

入门和资源

在本教程中开始使用ML.NET 

Microsoft Docs了解有关ML.NETModel Builder的更多信息。

每隔一个星期三太平洋时间上午10点,收听机器学习.NET社区演讲。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值