将chainer模型转换为onnx
onnx-chainer的Python项目详细描述
onnx chainer
这是chainer支持onnx的附加包。
测试环境
- python 3.5.5、3.6.7、3.7.2
- OnNX 1.4.1、1.5.0版
- 操作集版本7、8、9、10
- Chainer稳定,预览
- onnx运行时0.4.0
(您仍然可以指定所有操作集版本<;=9,但请注意,操作集版本<;=6未经测试)
安装
在ubuntu 14.04/16.04
pip install onnx-chainer
运行测试
一。安装测试模块
$ pip install onnx-chainer[test-cpu]
或者,在GPU环境中
$ pip install cupy # or cupy-cudaXX is useful $ pip install onnx-chainer[test-gpu]
2.运行测试
$ pytest -m "not gpu"
或者,在GPU环境中
$ pytest
快速启动
首先,安装ChainerCV以获得预先培训的模型。
importnumpyasnpimportchainerimportchainercv.linksasCimportonnx_chainermodel=C.VGG16(pretrained_model='imagenet')# Pseudo inputx=np.zeros((1,3,224,224),dtype=np.float32)onnx_chainer.export(model,x,filename='vgg16.onnx')
支持的功能
目前支持82个chainer函数以onnx格式导出。
激活
- clippedrelu
- 洗脱液
- 硬乙状结肠
- 漏洞百出
- logsoftmax
- 预备功能
- relu
- 乙状结肠
- softmax
- SoftPlus
- 谭
数组
- 铸件
- concat
- 复制
- 深度2空间
- 数据包
- 展开尺寸
- 获取项目
- hstack
- 垫{a6}2
- 重复
- 重塑
- 调整图像大小
- 分开
- 形状
- space2深度 分裂轴
- 挤压
- 堆栈
- 棉签
- 平铺
- 转置
- 垂直缝
- 其中
连接
- 卷积2d函数
- 卷积
- 反褶积2d函数
- 反褶积nd
- 嵌入式函数
- 线性函数
损失
- SoftMaxCross熵
数学
- 绝对值
- 添加
- 添加常量
- argmax
- argmin
- 广播到
- 剪辑
- div
- divfrom常量
- exp
- 身份
- 线性字体
- 对数经验
- matmul
- 最大值
- 平均值
- 最小值
- 最小值
- mul
- 多常数
- 负
- powvarconst
- 生产
- rsqrtgpu
- sqrt
- 正方形
- sub
- 亚常量
- 总和
噪音
- 辍学
标准化
- 批量规范化
- fixedbatchnormalization
- 本地响应放大
- normalizel2
合并
- 平均池2d
- 平均池接地
- MaxPooling2d
- 最大池接地
- 滚动池2d
- 未冷却2d
贡献
欢迎对Onnx Chainer的任何贡献!
- python代码遵循Chainer Coding Guidelines
1:模式应该是“常量”、“反射”或“边缘”
2:onnx不支持pad操作的多个常量值
3:当前onnx不支持embeddid
4:在测试模式下,导出的文件中不包括所有的辍学层
5:chainer不支持shape函数