C#使用ONNX模型
时间: 2025-05-31 14:19:25 浏览: 17
### 如何在C#中加载和使用ONNX模型进行推理
为了在C#项目中加载并使用ONNX模型进行推理,可以遵循如下方法:
#### 创建新的控制台应用程序或Windows Forms应用
通过Visual Studio创建一个新的.NET Core 控制台应用程序或是Windows Forms 应用程序。
#### 安装必要的NuGet包
安装`Microsoft.ML.OnnxRuntime` NuGet包来支持ONNX模型的加载与执行。可以通过NuGet Package Manager 或者命令行完成此操作:
```shell
dotnet add package Microsoft.ML.OnnxRuntime
```
#### 加载ONNX模型
利用`InferenceSession`类实例化对象以加载指定路径下的`.onnx`文件[^1]。
```csharp
using var session = new InferenceSession("path_to_your_model.onnx");
```
#### 准备输入数据
根据所使用的具体模型准备相应的输入张量。通常情况下,这涉及到读取图像或其他类型的二进制数据,并将其转换成适合于神经网络处理的形式。对于图像分类任务来说,可能需要先调整尺寸、归一化像素值等预处理工作[^2]。
#### 构建输入字典
构建一个键值对集合作为模型预测函数的参数传递给它。这里的键应当匹配训练时定义的名字;而值则应该是之前准备好格式化的Tensor[]数组形式的数据[^3]。
```csharp
var inputs = new List<NamedOnnxValue>
{
NamedOnnxValue.CreateFromTensor("input_name", input_tensor)
};
```
#### 调用Run方法获取输出结果
调用`session.Run()`传入上述构造好的inputs列表即可得到由模型计算得出的结果集。这些结果同样是以命名的方式返回,因此可以根据名称提取感兴趣的特征向量或者其他有用的信息[^4]。
```csharp
var results = session.Run(inputs);
foreach (var result in results)
{
Console.WriteLine($"Output name: {result.Name}");
}
```
阅读全文
相关推荐


















