在C#中使用ONNX進行機器學習可以通過使用ONNX Runtime庫來實現。ONNX Runtime是一個高性能的開源引擎,可以在不同平臺上運行ONNX模型。下面是一個簡單的示例代碼,演示如何在C#中使用ONNX Runtime加載和運行ONNX模型:
using Microsoft.ML.OnnxRuntime;
using Microsoft.ML.OnnxRuntime.Tensors;
class Program
{
static void Main()
{
// 加載ONNX模型
var modelPath = "path/to/your/model.onnx";
var session = new InferenceSession(modelPath);
// 創建輸入張量
var input = new DenseTensor<float>(new[] { 1, 3 }, new float[] { 1.0f, 2.0f, 3.0f });
// 運行推理
var inputs = new List<NamedOnnxValue>
{
NamedOnnxValue.CreateFromTensor<float>("input", input)
};
var outputs = session.Run(inputs);
// 獲取輸出結果
var output = outputs.FirstOrDefault().AsTensor<float>().ToArray();
// 輸出結果
Console.WriteLine("Output: " + string.Join(", ", output));
}
}
在上面的示例中,我們首先加載了一個ONNX模型,然后創建了一個輸入張量,并執行了推理過程。最后,我們獲取了輸出結果并將其打印出來。
需要注意的是,使用ONNX Runtime進行機器學習需要安裝ONNX Runtime庫,并且確保模型和輸入數據的格式與模型要求一致。具體如何加載模型和處理輸入輸出數據取決于具體的模型和任務。