【发布时间】:2021-01-11 06:15:20
【问题描述】:
NET GUI 工具来训练模型。该模型适用于 C# 应用程序,但我希望它采用 ONNX 格式。我找到了在模型格式之间转换的工具,但找不到任何 ML.NET 生成格式的东西。显然这是一些 zip 文件,我对此一无所知。有谁知道转换为 ONNX 的工具。 谢谢
微软的 ML.Net 模型生成器生成代码
// Load Data
IDataView trainingDataView = mlContext.Data.LoadFromTextFile<ModelInput>(
path: TRAIN_DATA_FILEPATH,
hasHeader: true,
separatorChar: ',',
allowQuoting: true,
allowSparse: false);
// Build training pipeline
IEstimator<ITransformer> trainingPipeline = BuildTrainingPipeline(mlContext);
// Train Model
ITransformer mlModel = TrainModel(mlContext, trainingDataView, trainingPipeline);
// Evaluate quality of Model
Evaluate(mlContext, trainingDataView, trainingPipeline);
// Save model
SaveModel (mlContext, mlModel, MODEL_FILE, trainingDataView.Schema);
var path = GetAbsolutePath(MODEL_FILE);
path = new FileInfo(path).Directory.FullName;
path = Path.Combine(path, "mymodel.onnx");
using (var onnx = File.Open(path, FileMode.OpenOrCreate))
{
mlContext.Model.ConvertToOnnx(mlModel, trainingDataView, onnx);
}
来自
var path = GetAbsolutePath(MODEL_FILE);
path = new FileInfo(path).Directory.FullName;
path = Path.Combine(path, "mymodel.onnx");
using (var onnx = File.Open(path, FileMode.OpenOrCreate))
{
mlContext.Model.ConvertToOnnx(mlModel, trainingDataView, onnx);
}
我已经修改了。 我正在获取 onnx 文件,但我无法运行它(推理)。同样,我尝试使用 WinML Dashboard 打开它,但它也无法运行生成的 onnx。我想知道它可能是它生成的 onnx 版本吗? 该模型是简单回归,所有输入浮点数并输出一个浮点数。
【问题讨论】:
-
您的问题有解决方案吗?我有同样的问题。我想使用模型构建器训练模型,然后将其转换为 onnx,但到目前为止还没有成功。 Onnx 转换器包不起作用并引发错误。