问题标签 [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.
c# - ML.Net 重新训练现有模型而不是训练新模型
我正在训练一个 ML.Net 机器学习模型。我可以训练它并从中预测,然后从磁盘保存/加载它。但是我需要能够从磁盘上加载它,然后重新训练它,或者添加新信息以随着时间的推移对其进行改进。
有谁知道这是否可能?我在 MS 文档中没有找到任何关于如何做到这一点的内容,但这对于 ML 来说是一件非常标准的事情,所以如果这不可能,我会感到惊讶。
谢谢
asp.net-web-api - ml.net 模型适用于控制台应用程序,但不适用于 web api
我已经使用 ml.net 模型构建器创建了一个 MLModel,它可以与“使用”控制台应用程序和硬编码值一起使用。我想进入下一步并使用 web api 提供值。我正在使用他们在 web api 中使用 mlmodel 的教程示例的修改版本。当我将邮递员与 webapi 一起使用时,出现以下错误;
System.InvalidOperationException:'无法将类型为'Single'的映射应用于列'PG',因为它的类型为'String''
mlmodel 从模型构建器成功构建,并且默认代码是从模型构建器生成的。在模型上运行带有硬编码值的消费控制台应用程序是可行的。
这是modelinput的相关代码
//************************************************ ***************************************** //* * //* 这是Microsoft ML.NET CLI(命令行界面)工具自动生成的文件。* //* * //************************************************ ************************************************
这里是模型输出
//************************************************ ***************************************** //* * //* 这是Microsoft ML.NET CLI(命令行界面)工具自动生成的文件。* //* * //************************************************ ************************************************
我分别在jobclassdata和jobclassprediction的等效webapi类中克隆了modelinput和modeloutput类
有效的控制台应用程序:
这是预测控制器的代码
这是发布的json正文代码
预期结果将是预测的工资等级,例如 PG03。相反,错误是
System.InvalidOperationException:'无法将类型为'Single'的映射应用于列'PG',因为它的类型为'String''
在线
没有编译错误并且控制台应用程序正常工作是json输入的格式吗?
谢谢
c# - 模型生成器无法加载 ML.Net Data.SaveAsText CSV 文件
我使用此功能将当前的 ML.Net 数据导出到 CSV
保存的数据看起来不错,但是当我尝试使用ML.Net 模型生成器加载 CSV 时,我收到此错误:
数据错误:无法推断所提供文件的列类型。
注意:我在 CSV 中也有向量列
CSV 文件看起来像这样(我删除了一些更小的列)。
如果我使用 mlContext.Data.LoadFromTextFile("c:\temp\aidata.csv"); 加载数据文件 它加载它没有任何错误,但模型生成器无法加载它。
visual-studio-2019 - ML.NET 图像分类训练冻结
我在 Windows 10 PC 上的 Visual Studio 2019 中使用最新版本的 ML.NET 图像分类来检测不适当的图像。我使用了一个包含 3000 个 SFW 和 3000 个 NSFW 图像的数据集来训练它,但它在训练时卡住了。没有输出错误,它只是停止使用 CPU 并停止输出到控制台。
它经常在一行之后随机停止,例如:
[Source=ImageClassificationTrainer; ImageClassificationTrainer, Kind=Trace] Phase: Bottleneck Computation, Dataset used: Train, Image Index: 1109
或者
[Source=ImageClassificationTrainer; MultiClassClassifierScore; Cursor, Kind=Trace] Channel disposed
停止使用 CPU 后,机器学习模型构建器上的训练页面保持不变:
我也尝试过使用每种类型的 700 张图像的较小数据集,但最终得到了相似的结果。这是什么原因造成的?
image-processing - ML.Net 是否允许训练多输入模型?
我的要求是同时使用图像和文本输入来训练模型。
目前我使用图像分类模型来预测使用给定的图像。
但我也希望使用一些文本输入来训练模型。
有没有办法使用 ML.net 来做到这一点?
c# - 在哪里指定 ML.NET 中的训练时间
我正在评估 ML.NET 模型生成器(预览版)16.1.0.2027905。当我去训练时,生成器让我指定“训练时间(秒)”(见图):
但是,当我到达第 6 步并生成代码时,我似乎找不到指定“训练时间”的位置......
ML.NET Builder 在 ModelBuilder.cs 文件中自动为我创建了这个函数:
但我在调试器中查看了 mlContext、trainingDataView、trainingPipeline 对象,并没有立即看到我可以在哪里指定训练时间。另外,我对 3600(这是我训练的时间)进行了全局文本搜索,但我没有找到任何有趣的代码。
ML.NET 中是否有一些简单的方法可以在几秒钟内指定“训练时间”?
我问这个问题是因为我想使用用户指定的训练间隔手动调用 ModelBuilder.TrainModel。我不想总是被要求使用 ML.NET Builder GUI 来重新训练我的模型。
c# - 为什么实际上无法加载onnxruntime.dll?
使用 Microsoft 开发人员提供的教程,我按照https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/object-detection-onnx创建的教程进行操作。
我确保从 Nvidia 的站点安装 CUDA V10.1.243 和 cuDNN 7.6.5。
然而不知何故,即使在将 的全部内容复制C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin
到我的项目二进制目录之后machinelearning-samples\samples\csharp\end-to-end-apps\ObjectDetection-Onnx\OnnxObjectDetectionApp\bin\Debug\netcoreapp3.0
,我在编译 MS 提供的示例程序时仍然遇到以下错误Exception thrown: 'System.DllNotFoundException' in System.Private.CoreLib.dll An exception of type 'System.DllNotFoundException' occurred in System.Private.CoreLib.dll but was not handled in user code Unable to load DLL 'onnxruntime' or one of its dependencies: The specified module could not be found. (0x8007007E)
:
这应该确保它们可以从 PATH 访问,对吗?我还将它们的原始位置包括NVIDIA GPU Toolkit
在系统 PATH 中。我正在使用最新版本的 Visual Studio 2019 来加载和编译此解决方案。有没有人能够成功运行此代码,如果是,如何?
c# - 获取 ML NET 模型 zip 文件流时 Blazor 中的错误
我对 Blazor 有疑问。我尝试按照文档中有关从远程源加载现有模型的内容进行操作。(https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/save-load-machine-learning-models-ml-net)
这就是我想出的:
初始化页面的时候,出现了错误,唯一明白的就是第32行有错误,
我找不到有同样问题的人。这是错误代码:
我真的不知道该怎么办。
我用了:
- ASP.NET 核心 3.1
- 机器学习网络 1.5
- .NET 标准 2.1
我发现有人似乎在类似类型的项目上取得了成功,我们的程序在结构上是相同的:https ://www.luisquintanilla.me/2020/03/01/deploy-machine-learning-mlnet-models-blazor-网络组装
我在 DigitalOcean 和 wwwroot 上都托管了我的 ML 模型,但它有相同的错误。
ml.net - 具有太多标签的 ML.NET 模型生成器
我有一个 12k 样本的训练集。每个样本都是我的模型的结果。
例如,我有 2 个特征和一个标签(f1 是一个类别,f2 是一个文本):
我会在 ALPHA_114 而不是 BETA_213 中匹配“ALPHA 113”(我会更正用户的输入)。
我在大约 40 秒内训练了 40 个样本。之后,我想训练 120 个样本,但 360 秒后没有找到模型。
我需要训练多长时间才能从 12k 个样本中学习?
我想问题可能是我有太多的标签
第一个解决方案:我会将我的训练集拆分为彼此相距较远的较小集,例如一组 where F1 like 'A*'
,F1 like 'B*'
依此类推。然后,为每个集合建立一个模型并合并这些模型以创建一个独特的大模型。
这个对吗?是否存在合并不同模型的方法?有没有更聪明的方法?
第二种解决方案可能是创建n 个随机集合(300 个集合,每组 40 个样本?),从单个集合中学习并合并模型。问题都是一样的
onnx - ML.NET 导出到 ONNX
NET GUI 工具来训练模型。该模型适用于 C# 应用程序,但我希望它采用 ONNX 格式。我找到了在模型格式之间进行转换的工具,但找不到 ML.NET 生成格式的任何东西。显然这是一些 zip 文件,我对此一无所知。有谁知道转换为 ONNX 的工具。谢谢
微软的 ML.Net 模型生成器生成代码
从
我已经修改了。我正在获取 onnx 文件,但我无法运行它(推理)。同样,我尝试使用 WinML Dashboard 打开它,但它也无法运行生成的 onnx。我想知道它可能是它生成的 onnx 版本吗?该模型是简单回归,所有输入浮点数并输出一个浮点数。