zoukankan      html  css  js  c++  java
  • ML.NET 九月更新

    ML.NET是一个开源的跨平台机器学习框架,ML.NET 1.5.2 版本工具更新包括通过模型生成器使用 Azure ML 训练对象检测模型的能力。现在您还可以使用 ML.NET CLI 本地训练图像模型。

    模型生成器中的对象检测

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

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

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

    虽然以前 ML.NET 提供了通过 ML.NET API 使用预先训练的 TensorFlow 和 ONNX 模型进行对象检测的能力,但现在您可以使用 Visual Studio 中的模型生成器来训练具有 Azure 和 AutoML 功能的自定义对象检测模型。

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

    如果您需要标记图像,我们建议您尝试 VoTT,一个开源注释和标签工具的图像和视频资产。

    下载 VoTT 后,您可以创建一个新的 VoTT 项目,从本地文件系统中选择数据集(Azure Blob 存储和必应图像搜索也是选项,但模型生成器目前仅支持本地数据集中的训练)。这只是一个文件夹,其中包含您要注释的所有图像。为源连接选择图像数据集的文件夹路径后,然后可以选择"目标连接"的输出文件夹。您可以跳过"视频设置",然后添加标签(您希望在图像中检测到的任何对象):

    保存项目后,将显示"源连接"文件夹中的所有图像,您可以开始按以下方法标记图像:

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

    Vott Json 如下所示:

    然后,您可以使用此 VoTT JSON 作为模型生成器中数据步骤的数据集输入。

    模型生成器目前只接受由 VoTT 生成的 JSON 格式,但我们计划在将来添加对更多格式的支持。如果要在模型生成器中看到受支持的对象检测数据集格式,请将反馈留在 GitHub 上。

    输入数据并移动到模型生成器中的"训练"步骤后,可以点击"开始训练",该训练器将数据上传到 Azure,然后开始使用 Azure ML 的训练。训练完成后,将下载 ML.NET模型,以便可以在本地测试。在"评估"步骤中,您可以查看模型的准确性,并预测测试图像:

    每个检测到的界框上显示的分数指示检测到的对象的置信度。例如,在上面的屏幕截图中,猫周围的边界框上的得分表示模型 77% 确信检测到的对象是猫。

    分数阈值(可以使用阈值滑块增加或降低)将基于其分数添加和删除检测到的对象。例如,如果阈值为 .51,则模型将仅显示分数/置信度为 .51 或以上的对象。增加阈值时,将看到检测较少的对象;随着阈值的降低,将看到更多检测到的对象。

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

    在 CLI 中ML.NET分类

    除了分类、回归和建议之外,还可以使用 CLI 的跨平台 ML.NET 本地训练自定义图像分类模型。

    此方案所需的只是要用于训练的图像数据集。例如,让我们看看天气示例,在其中要将图像分类为雨、多云或晴天。

    首先,您需要确保图像格式正确,这是一个文件夹,用于将照片组织成分隔的标记子文件夹,像这样:

    在这种情况下,每个文件夹包含 30 个相应天气的图像。获得数据集后,可以使用 CLI 中的以下命令 ML.NET 开始训练:

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

    训练结束后,CLI 将输出模型的准确性,并生成模型消耗和重新训练所需的项目:

    上个月,我们宣布 ML.NET 1.5.1版本,我们建议您跳过 1.5.1 并更新到 1.5.2。此版本还关闭了 30 多个报告的错误,并添加了 ONNX 增强功能,以支持 ONNX 导出的更多类型。你可以在1.5.2发行说明中看到更多

    入门和资源

    开始学习ML.NET并了解有关 Microsoft 文档中ML.NET模型生成器。

  • 相关阅读:
    leetcode 131. Palindrome Partitioning
    leetcode 526. Beautiful Arrangement
    poj 1852 Ants
    leetcode 1219. Path with Maximum Gold
    leetcode 66. Plus One
    leetcode 43. Multiply Strings
    pytorch中torch.narrow()函数
    pytorch中的torch.repeat()函数与numpy.tile()
    leetcode 1051. Height Checker
    leetcode 561. Array Partition I
  • 原文地址:https://www.cnblogs.com/BeanHsiang/p/13770529.html
Copyright © 2011-2022 走看看