ONNX - 环境设置



设置用于处理 ONNX 的环境对于创建、转换和部署机器学习模型至关重要。在本教程中,我们将学习安装 ONNX、其依赖项以及设置 ONNX 运行时以实现高效模型推理。

ONNX 环境设置包括安装 ONNX 运行时、其依赖项以及转换和运行 ONNX 格式机器学习模型所需的工具。

为 Python 设置 ONNX

Python 是最常用的 ONNX 开发语言。要在 Python 中设置 ONNX 环境,您需要安装 ONNX 和针对 PyTorch、TensorFlow 和 Scikit-learn 等常用框架的模型导出库。ONNX 对于将模型转换并导出为 ONNX 格式是必需的。

pip install onnx

安装 ONNX 运行时

ONNX 运行时是运行 ONNX 格式模型的主要工具。它适用于 CPU 和 GPU(CUDA 和 ROCm)环境。

安装适用于 CPU 的 ONNX 运行时

要安装 CPU 版本的 ONNX 运行时,只需在您的终端中运行以下命令:

pip install onnxruntime

这将安装适用于 CPU 执行的基本 ONNX 运行时包。

安装适用于 GPU 的 ONNX 运行时

如果您想利用 GPU 加速,ONNX 运行时同时支持 CUDA(NVIDIA)和 ROCm(AMD)平台。ONNX 运行时支持的默认 CUDA 版本为 11.8。

pip install onnxruntime-gpu

这将安装适用于 CUDA 11.x 的 ONNX 运行时。

安装模型导出库

根据您使用的框架,安装相应的模型转换库。

  • PyTorch:ONNX 支持内置于 PyTorch 中。以下是命令。

    pip install torch
    
  • TensorFlow:安装 tf2onnx 来转换 TensorFlow 模型。

    pip install tf2onnx
    
  • Scikit-learn:使用 skl2onnx 导出 Scikit-learn 模型。

    pip install skl2onnx
    

为其他语言设置 ONNX

C#/C++/WinML

对于 C# 和 C++ 项目,ONNX 运行时提供对 Windows ML (WinML) 和 GPU 加速的原生支持。我们可以使用以下命令在C#中安装适用于 CPU 的 ONNX 运行时:

dotnet add package Microsoft.ML.OnnxRuntime

同样,使用以下命令安装适用于 GPU(CUDA)的 ONNX 运行时:

dotnet add package Microsoft.ML.OnnxRuntime.Gpu

JavaScript

ONNX 运行时也适用于浏览器和 Node.js 环境中的 JavaScript。以下是安装适用于浏览器的 ONNX 运行时的命令:

npm install onnxruntime-web

同样,要安装适用于 Node.js 的 ONNX 运行时,请使用以下命令:

npm install onnxruntime-node

为移动设备 (iOS/Android) 设置 ONNX

ONNX 运行时可以设置为移动平台,包括 iOS 和 Android。

  • iOS:将 ONNX 运行时添加到您的 Podfile 并运行 pod install

    pod 'onnxruntime-c'
    
  • Android:在您的 Android Studio 项目中,将 ONNX 运行时添加到您的 build.gradle 文件:

    dependencies {
       implementation 'com.microsoft.onnxruntime
       :onnxruntime-android:latest.release'
    }
    
广告