问题标签 [ml.net-model-builder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
231 浏览

ml.net - ML.NET 模型生成器生成代码以返回多个预测结果

我在模型生成器中选择了文本分类,并且能够使用样本数据评估模型。我在 Visual Studio 插件中获得了多个准确率百分比的结果行,如下所示:

结果

结果1 60%


结果2 5%

结果3 <1%

结果4 <1%

结果5 <1%

但是,当使用生成的模型代码时,我只能得到一个预测结果

问题:如何使用生成的模型为一个模型输入返回多个准确率百分比的预测结果?类似于模型生成器在 Visual Studio 插件中的“评估”步骤中的显示方式。

0 投票
1 回答
177 浏览

ml.net - ML.Net 模型构建器 - 为什么会出现 SQL 数据错误“关键字 'Open' 附近的语法不正确”?

我在 Visual Studio 2019 上使用 ML.Net 模型生成器版本:16.3.0.2056001,使用 .Net 5.0。

使用带有新模板项目的模型生成器向导,我选择添加 > 机器学习 > 连接到 SQL Server,它已成功测试并且表数据正确加载到预览中。

当我继续到下一个屏幕并单击开始训练时,我收到以下错误:

Incorrect syntax near the keyword 'Open'

这是标准的脚手架项目,我尝试添加以下 nuget 包来尝试解决此问题:

0 投票
1 回答
21 浏览

c# - 缺乏 PredictRecommendation/3 方法

我正在研究使用 ML.Net 的推荐系统,目前我在创建模型时遇到了预测单个值的问题。以前没有发生过(使用相同的数据集时)。另一个问题可能是矩阵分解的负 R 平方值,但我不确定。

我也尝试修复 Visual Studio,但它什么也没做。

以下是日志:

(Microsoft.ML.ModelBuilder.Utils.Logger.Info) 2021-06-02 12:13:26.5086 调试 在 Microsoft.ML.ModelBuilder.AutoMLEngine 类中找不到方法“PredictRecommendationAsync/3”。原因: w System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) w System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) w System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务)
w StreamJsonRpc.JsonRpc.d__94 1.MoveNext() --- End of stack trace from previous location where exception was thrown --- w System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) w System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) w Microsoft.ML.ModelBuilder.AutoMLServiceFactory.AutoMLServiceProxy.<PredictRecommendationAsync>d__19.MoveNext() --- End of stack trace from previous location where exception was thrown --- w System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) w System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) w Microsoft.ML.ModelBuilder.TrainSession.<PredictRecommendationAsync>d__53.MoveNext() --- End of stack trace from previous location where exception was thrown --- w System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) w System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) w System.Runtime.CompilerServices.TaskAwaiter1.GetResult()
w Microsoft.ML.ModelBuilder.ToolWindows.EvaluateTabControl.<TryItOutText_Click>d__5.MoveNext() (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)

0 投票
1 回答
282 浏览

c# - 如何在 ML.Net 中动态生成数据模型类?

我是 C# 和 ML.Net 的初学者,我正在努力在 ML.Net 中加载数据,为此我将一些数据存储在 .csv 文件中。第一步是为数据模型创建一个类,如下所示:

因此,在加载 .csv 文件之前,我需要将我的 .csv 第一行中的所有功能存储在此类中。我还需要知道由特征(字符串、浮点数、日期时间等)表示的变量的类型,以及在我的 .csv 中表示该特征的列。

创建此类后,我将使用以下简单的代码行从 .csv 加载数据:

所以这个命令使用我首先为数据模型创建的类。

问题是:我想做我在动态方法中描述的第一步,因为在加载我的 .csv 文件之前,我需要已经知道我的 .csv 的结构并实现该类。但是如果我不知道呢?(例如,如果有人想加载自己的文件怎么办?)

我的想法是编写一些脚本,第一次读取我的 .csv 文件并创建一个 .cs 文件并用我的课程所需的代码填充这个文件,因此该脚本将取决于我的 .csv 和还有他们的变量类型(甚至其他东西......)

但是我想知道我的想法的可行性,因为在通过读取 .csv 为数据模型自动创建我的类之后,它必须被编译,但我已经编译了所有文件,这意味着我需要以某种方式重新编译...

这是正确的方法还是我错过了更容易的东西?

预先感谢您的回答

0 投票
0 回答
143 浏览

object-detection - 用于对象检测的 ML.NET 预测速度改进

我已经使用 Visual Studio 和 ML 模型生成器创建了一个用于对象检测的 ONNX 模型,使用 VOTT 来定义我想要检测的 4 个对象。

我正在按照教程中的说明测试模型,效果很好,结果还可以:

问题是它需要 5 秒(第一次运行 10 秒,以下运行 5 秒)。sample.jpg 是一个 700x400 像素的图像,85kb,计算机是 Intel i7 2.9GHz。

为什么这么慢?我做错了什么还是这是我应该期望的速度?这是图像,要检测的对象是 REF、LOT、沙漏图标和工厂图标。

有没有其他技术可以用来更快地检测这些物体?

在此处输入图像描述

谢谢

0 投票
1 回答
152 浏览

c# - ML.NET 模型生成器16.6.1

我正在将 c# 与 ml.net 与新的模型生成器 ver16.6.1 一起使用。模型构建器生成代码,其中之一是 MLModel.training.cs

我需要重新训练我的模型作为应用程序的一部分,如何调用此函数从 Main 重新训练我的模型?

0 投票
0 回答
110 浏览

c# - 图像分类 - 从位图对象加载。微软.ML

我使用 Visual Studio 图形助手创建了模型。工作室为我生成了一个项目和代码。一切都适合我,除了在输入时我必须将文件的路径作为字符串提供。我可以将图像以位图格式传输到神经网络吗?

我找到了很多示例,但它们都与我的代码不同,就像我有不同的版本一样。我正在尝试修改找到的代码,但遇到了各种错误。

请解释一下如何做到这Microsoft.ML 1.5一点?如何调整下面生成的代码以使用位图图像(不是路径输入)?

我的 ModelInput.cs

我的 ModelBuilder.cs

0 投票
0 回答
22 浏览

tensorflow - ML.NET 是否与 TF2 saved_model 格式兼容?

官网上说是兼容的,但是当我尝试加载模型时,我得到了错误。我根据网站上提到的内容做了所有事情。此外,模型的输入和输出名称也由 ML.NET 更改。输入添加serving_default后缀,输出添加bias/Read/ReadVariableOp后缀。ML.NET 是否与 TF2 saved_model 格式兼容?

0 投票
1 回答
55 浏览

visual-studio-2019 - 使用 VS 2019 模型生成器获取“试用 0 遇到错误消息:必须至少为 2。参数名称:numClasses”

我是机器学习和 ML.Net 的新手(从编码和模型构建器的角度来看)。我编写了代码来训练和预测(针对我们的数据的相对简单的示例),但我认为最好使用模型构建器,因为它会选择合适的模型进行训练。

我在模型构建器中使用数据分类场景。我有一个成功训练的数据集(来自 SQL Server),但我想使用不同版本的数据集(相同的架构,不同的数据)。创建此其他数据集时,我现在收到错误消息“试用 0 遇到错误消息:必须至少为 2”,并且我无法找到有关该错误的任何信息。我已经比较了这两个数据集(列类型、空值、检查了高级数据选项以确保它们相同) - 训练的原始数据集和引发此异常的新数据集,除了数据之外它们似乎相同本身。

我甚至使用 Telerik JustDecompile 来查看 ML 代码(Microsoft.ML.Trainers - LinearMulticlassModelParametersBase)中的哪个位置抛出了这个错误。我知道有 2 种不同类型的数据分类场景 - 二进制和多类。我有一列定义为标签,应该是 1 或 0。

我很感激任何帮助。希望有人能指出我正确的方向。我一直在分析有效的数据集和无效的数据集 # 天并且找不到差异。即使模式相同,模型是否也会根据正在训练的实际数据使用不同的算法?

我将尝试通过代码使用这两个相同的数据集(不使用模型构建器)。

谢谢。汤姆

0 投票
1 回答
71 浏览

.net - 如何分析ml.net中多类分类中预测给出的分数数组?

我在 ML.NET 中创建了一个多类分类项目。该项目对错误进行分类并预测模型认为的错误类型。

例如Object reference not set to an instance of an object是“运行时”错误。

这很好用,我可以进行预测。但是,我还需要知道预测的可信度。我在具有多个值的数组中获得分数。我不确定如何解释这些值。

在此处输入图像描述