ONNX
ONNX(英语:Open Neural Network Exchange)是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的人工智能框架(如Pytorch、MXNet)可以采用相同格式存储模型数据并交互。 ONNX的规范及代码主要由微软,亚马逊,Facebook和IBM等公司共同开发,以开放源代码的方式托管在Github上。 目前官方支持加载ONNX模型并进行推理的深度学习框架有: Caffe2, PyTorch, MXNet,ML.NET,TensorRT 和 Microsoft CNTK,并且 TensorFlow 也非官方的支持ONNX。
环境准备
- pytorch
- onnxruntime / onnxruntime-gpu
将 PyTorch 模型转换为 ONNX 模型
在 PyTorch 中导出模型是通过跟踪或脚本来实现的。本教程将使用通过跟踪导出的模型作为示例。要导出模型,我们调用该torch.onnx.export()函数。这将执行模型,记录用于计算输出的运算符的跟踪。因为export运行模型,我们需要提供一个输入张量x。只要类型和大小正确,其中的值可以是随机的。请注意,输入大小