Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c# onnx

作者:嗜神魔影   发布日期:2025-09-29   浏览:105

using System;
using Microsoft.ML.OnnxRuntime;
using Microsoft.ML.OnnxRuntime.Tensors;

class Program
{
    static void Main(string[] args)
    {
        // 加载ONNX模型
        using var session = new InferenceSession("model.onnx");

        // 准备输入数据
        var inputTensor = new DenseTensor<float>(new int[] { 1, 3, 224, 224 });
        // 填充输入张量的数据,这里假设输入是一个随机的张量
        Random random = new Random();
        for (int i = 0; i < inputTensor.Length; i++)
        {
            inputTensor[i] = (float)random.NextDouble();
        }

        // 创建输入字典
        var inputs = new List<NamedOnnxValue>
        {
            NamedOnnxValue.CreateFromTensor("input", inputTensor)
        };

        // 运行推理
        using IDisposableReadOnlyCollection<DisposableNamedOnnxValue> results = session.Run(inputs);

        // 处理输出结果
        foreach (var result in results)
        {
            Console.WriteLine($"Output name: {result.Name}");
            var outputTensor = result.AsEnumerable<float>().ToArray();
            Console.WriteLine($"Output tensor: {string.Join(", ", outputTensor)}");
        }
    }
}

解释说明

  1. 加载ONNX模型:

    • 使用 InferenceSession 类来加载 .onnx 模型文件。你需要将 "model.onnx" 替换为实际的模型路径。
  2. 准备输入数据:

    • 创建一个 DenseTensor<float> 来表示输入张量。这里假设输入张量的形状是 [1, 3, 224, 224],即一批大小为1、通道数为3、高度和宽度均为224的图像。
    • 使用 Random 类填充输入张量的数据。在实际应用中,你应该根据模型的具体要求准备输入数据。
  3. 创建输入字典:

    • 使用 NamedOnnxValue.CreateFromTensor 方法将输入张量封装为 NamedOnnxValue 对象,并添加到输入列表中。"input" 是模型的输入名称,需要根据具体模型进行调整。
  4. 运行推理:

    • 调用 session.Run 方法执行推理,并获取输出结果。
  5. 处理输出结果:

    • 遍历输出结果,并将其转换为数组进行打印。你可以根据实际需求进一步处理这些输出数据。

如果你有任何问题或需要更详细的解释,请随时提问!

上一篇:c#或

下一篇:c# eventargs

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

c#网络编程

c# rectangle

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站