使用ML.Net轻松接入AI模型!

Posted 大头BigHead

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ML.Net轻松接入AI模型!相关的知识,希望对你有一定的参考价值。

.Net使用第三方onnx或ModelBuilder轻松接入AI模型

ML.Net - 开源的跨平台机器学习框架

  • 支持CPU/GPU训练
  • 轻松简洁的预测代码
  • 可扩展其他的机器学习平台
  • 跨平台

1.使用Visual Studio的Model Builder训练和使用模型

Visual Studio默认安装了Model Builder插件,可以很快地进行一些通用模型类型的训练和部署,提高接入机器学习的开发效率

1.1 新建模型

通过非常简单地 右键项目-添加-机器学习模型

1.2 选择模型

ModelBuilder中提供了集中常用的模型类型以供开发者使用,开发者可以通过这些类别的模型快速接入,并且训练自己的数据,本节内容将会使用计算机视觉中的”图像分类“进行演示

1.3 选择训练环境

接下来要选择训练的环境,提供了CPU/GPU/Azure云三种方式训练,这里为了简单演示,我使用了CPU训练,如果数据量大且复杂的请选择GPU,并且提前安装CUDA、cuDNN

1.4 添加训练数据

我从搜索引擎中,搜集到了一系列”奥特曼“的图片(我相信不是所有人都可以认出各个时代的各个奥特曼 哈哈哈)
然后将这些图片进行了文件夹分类,导入到ModelBuilder中,如下:

1.5 开始训练

本次演示训练157张图片,耗时50秒

1.6 评估

此环节,为了检验训练成果和准确率,ModelBuilder中提供了图形化的方式进行预测检测,我在另外的搜索引擎中,找到了一张没有经过训练的图片,它准确地判断出了”迪迦奥特曼“的概率为63%

1.7 代码编写

这一环节中,ModelBuilder给出了示例代码,直接复制粘贴就可以用到自己的实际项目中
同时还提供了,一键生成控制台或者WebAPI项目的入口。给力!

译 | 宣布ML.NET 1.2 及模型生成器更新(用于 .NET 的机器学习)

原文:Cesar De la Torre

翻译:Edi Wang

我们很高兴地宣布ML.NET 1.2 和模型生成器和 CLI 的更新。ML.NET是 .NET 开发人员的开源和跨平台机器学习框架。ML.NET还包括模型生成器(Visual Studio 的简单 UI 工具)和ML.NET CLI(命令行界面),以便使用自动机器学习 (AutoML) 构建自定义机器学习 (ML) 模型变得超级简单。

使用ML.NET,开发人员可以利用其现有工具和技能集,通过为情绪分析、价格预测、图像分类等常见方案创建自定义机器学习模型来开发和将自定义 ML 注入到应用程序中以及更多操作!

以下是此更新中的一些主要亮点:

ML.NET 更新

ML.NET 1.2 是一个向后兼容的版本,没有重大更改,因此请更新以获取最新的更改。

用于预测和异常检测的TimeSeries支持的正式发布

开发人员可以使用 Microsoft.ML.TimeSeries 包处理许多方案,例如:使用异常检测模型检测产品销售中的峰值和变化,或创建可能受季节性和其他时间相关上下文影响的销售预测。

通过这些示例了解更多信息。

https://github.com/dotnet/machinelearning/tree/master/docs/samples/Microsoft.ML.Samples/Dynamic/Transforms/TimeSeries

译 | 宣布ML.NET 1.2 及模型生成器更新(用于 .NET 的机器学习)

用于 TensorFlow 和 ONNX 模型的ML.NET包正式发布

ML.NET被设计为可扩展的平台,因此您可以使用其他流行的 ML 模型,如 TensorFlow 和 ONNX 模型,并可以访问更多的机器学习和深度学习方案,如图像分类、对象检测等。

通过以下代码示例了解 Microsoft.ML.OnnxTransformer 和 Microsoft.ML.TensorFlow 以及端到端ML.NET计算机视觉示例应用:

  • Image Classification ASP.NET Core web app

    • https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/end-to-end-apps/DeepLearning_ImageClassification_TensorFlow

  • Object Detection ASP.NET Core web app

    • https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/end-to-end-apps/DeepLearning_ObjectDetection_Onnx

译 | 宣布ML.NET 1.2 及模型生成器更新(用于 .NET 的机器学习)

通过Microsoft.Extensions.ML集成包(预览版)轻松将ML.NET模型集成到 Web 或无服务器应用中

此程序包使集成加载ML.NET模型以在ASP.NET应用、Azure Function 和 Web 服务中评分变得更加容易。具体而言,该包允许开发人员使用Microsoft.Extensions.ML使用依赖项注入加载ML.NET模型,并在多线程环境(如 ASP.NET Core 应用)中优化模型的执行和性能。在此处了解更多信息。

https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/end-to-end-apps/ScalableMLModelOnWebAPI-IntegrationPkg

MLNet CLI 更新为 0.14(预览)

您可以使用ML.NET CLI 自动生成ML.NET模型和基础 C# 代码。您可以在任何命令提示符(Windows、Mac 或 Linux)上运行ML.NET CLI。

您只需提供自己的数据集并选择要实现的机器学习任务(如分类或回归),CLI 使用 AutoML 引擎创建模型生成和部署源代码以及二进制模型。

译 | 宣布ML.NET 1.2 及模型生成器更新(用于 .NET 的机器学习)

CLI 更新为 0.14,用于处理客户反馈问题。

在此处了解有关 CLI 的更多详细信息:

  • 如何使用ML.NET CLI

    • https://docs.microsoft.com/en-us/dotnet/machine-learning/automate-training-with-cli

  • CLI 更新 0.14

    • https://github.com/dotnet/machinelearning/pull/3725

模型生成器更新

ML.NET模型生成器提供了一个易于理解的可视化界面,用于构建、训练和部署自定义机器学习模型。

扩展对 .txt 文件和更多值分隔符的支持

用户现在可以使用 .txt 文件来训练模型。在初始预览中,模型生成器仅支持 .csv 和 .tsv 文件。值可以由以下分隔符分隔:空格、逗号、制表符和分号。

训练数据大小没有限制!

根据流行的请求,我们删除了对训练数据大小的 1GB 限制。开发人员现在可以上载任何大小的文件。

大型数据集训练时间的智能默认值

默认训练时间现在根据数据的大小进行设置。曾经这个值是10秒。这将允许模型生成器在这段时间内找到至少 1 个模型。

详细了解您应该训练多长时间?

https://github.com/dotnet/machinelearning-samples/blob/master/modelbuilder/readme.md#Train

改善模型使用体验

在模型构建过程结束时的代码生成步骤中,模型生成器现在还添加了ML.NET 1.2 NuGet 包。

更新至 ML.NET 1.2

模型生成器使用最新版本的ML.NET生成的代码将引用 1.2。在早期的预览版中,它使用ML.NET 1.0。

解决客户反馈的问题

此版本中修复了许多问题。在发行说明中了解更多信息。

https://github.com/dotnet/machinelearning-modelbuilder/releases

想要上生产环境 - 填写此表格

http://survey.usabilla.com/live/s/5c87fbc101634d1357359f7b

如果您在应用中使用ML.NET并打算投入生产,则可以与ML.NET团队的工程师交谈。

立即试用ML.NET和模型生成器!

从这里开始上手 ML.NET。

https://www.microsoft.com/net/learn/apps/machine-learning-and-ai/ml-dotnet/get-started

在此处开始上手模型生成器。

https://aka.ms/modelbuilder

总结

我们很高兴为您发布这些更新,我们期待看到您将使用ML.NET构建的内容。如果您有任何问题或反馈,您可以在这里询问他们ML.NET和模型生成器。

https://github.com/dotnet/machinelearning/issues

https://aka.ms/modelbuilderissues

你的朋友 @ML.NET

以上是关于使用ML.Net轻松接入AI模型!的主要内容,如果未能解决你的问题,请参考以下文章

.NET Core玩转机器学习

译 | 宣布ML.NET 1.2 及模型生成器更新(用于 .NET 的机器学习)

[.NET6]使用ML.NET+ONNX预训练模型整活B站经典《华强买瓜》

OPEN AI角色插件通道开放接入支持各种细分领域对话场角色景模型一键接入AI 智能

.NET机器学习 ML.NET 1.4预览版和模型生成器更新

使用ML.NET+ONNX预训练模型整活B站经典《华强买瓜》