ONNX初体验
背景
Open Neural Network Exchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。
ONNX是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的人工智能框架(如Pytorch, MXNet)可以采用相同格式存储模型数据并交互。 ONNX的规范及代码主要由微软,亚马逊 ,Facebook 和 IBM 等公司共同开发,以开放源代码的方式托管在Github上。目前官方支持加载ONNX模型并进行推理的深度学习框架有: Caffe2, PyTorch, MXNet,ML.NET,TensorRT 和 Microsoft CNTK,并且 TensorFlow 也非官方的支持ONNX。
初体验
预定义的模型
https://github.com/onnx/models/
声学相关的有:
- Speech recognition with deep recurrent neural networks:ASR
- Deep voice: Real time neural text to speech:TTS
- Sound Generative models:TTS
下载模型
brew install git-lfs
# 查看所有模型
git lfs ls-files
# 下载指定模型
git lfs pull --include="vision/super_resolution/sub_pixel_cnn_2016/model/super-resolution-10.onnx" --exclude=""
# 下载所有模型
git lfs pull --include="*" --exclude=""
查看模型结构
python3 -m pip install netro
netron
推理
安装依赖
python -m pip install onnxruntime -i https://mirrors.aliyun.com/pypi/simple # CPU
python -m pip install onnxruntime-gpu -i https://mirrors.aliyun.com/pypi/simple # GPU