You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ML.NET中找不到ApplyOnnxModel方法的技术求助

问题描述

想要使用ML.NET加载ONNX模型,但发现MLContext.Transforms中没有ApplyOnnxModel方法。已安装的NuGet包如下:

<PackageReference Include="Microsoft.ML" Version="3.0.1" />
<PackageReference Include="Microsoft.ML.OnnxRuntime" Version="1.18.1" />
<PackageReference Include="Microsoft.ML.OnnxRuntime.Managed" Version="1.18.1" />

使用的代码:

using Microsoft.ML;

MLContext mLContext = new MLContext();
mLContext.Transforms.ApplyOnnxModel();

Console.WriteLine("Hello, World!");

出现的错误信息:

'TransformsCatalog' 不包含 'ApplyOnnxModel' 的定义,也找不到可接受第一个参数为 'TransformsCatalog' 类型的可访问扩展方法 'ApplyOnnxModel'(是否缺少 using 指令或程序集引用?)

解决方案
  • 安装缺失的NuGet包:Microsoft.ML.OnnxTransformer,建议安装与Microsoft.ML版本匹配的版本(比如3.0.1),这个包包含了ApplyOnnxModel扩展方法的定义。
  • 在代码中添加命名空间引用:using Microsoft.ML.OnnxTransformer;,因为ApplyOnnxModel是该命名空间下的扩展方法,不添加的话编译器无法识别。
  • 补充ApplyOnnxModel的必要参数,比如ONNX模型文件路径、输入输出列的映射关系,示例修正后的代码如下:
using Microsoft.ML;
using Microsoft.ML.OnnxTransformer;

MLContext mLContext = new MLContext();

// 替换为你的模型实际列名和文件路径
var pipeline = mLContext.Transforms.ApplyOnnxModel(
    outputColumnNames: new[] { "output" },
    inputColumnNames: new[] { "input" },
    modelFile: "your_model.onnx");

Console.WriteLine("Hello, World!");

内容的提问来源于stack exchange,提问作者abbas-h

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 20:32:07