文档章节

对ONNX模型进行BN和卷积层的融合

o
 osc_wws45aot
发布于 2019/08/21 15:04
字数 184
阅读 76
收藏 0

精选30+云产品,助力企业轻松上云!>>>

对Resnet50.onnx模型进行BN和卷积层的融合

 

一、准备工作

安装ONNX

You can then install ONNX from PyPi (Note: Set environment variable ONNX_ML=1 for onnx-ml):

pip install onnx

You can also build and install ONNX locally from source code:

git clone https://github.com/onnx/onnx.git

cd onnx

git submodule update --init --recursive

python setup.py install

 

二、源码

import onnx
import os
from onnx import optimizer # Preprocessing: load the model contains two transposes. # model_path = os.path.join('resources', 'two_transposes.onnx') # original_model = onnx.load(model_path) original_model = onnx.load("resnet50.onnx")
print('The model before optimization:\n\n{}'.format(onnx.helper.printable_graph(original_model.graph)))


# A full list of supported optimization passes can be found using get_available_passes() all_passes = optimizer.get_available_passes() print("Available optimization passes:") for p in all_passes: print('\t{}'.format(p)) print() # Pick one pass as example passes = ['fuse_add_bias_into_conv'] # Apply the optimization on the original serialized model optimized_model = optimizer.optimize(original_model, passes) print('The model after optimization:\n\n{}'.format(onnx.helper.printable_graph(optimized_model.graph)))

# save new model
onnx.save(optimized_model, "newResnet50.onnx")

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
ACNet——涨点且不增加耗时的技巧

论文:ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks 论文链接:https://arxiv.org/abs/1908.03930 代码链接:https://github.com/DingXi......

AI之路
01/09
0
0
深度学习之卷积神经网络CNN及tensorflow代码实现示例

一、CNN的引入 在人工的全连接神经网络中,每相邻两层之间的每个神经元之间都是有边相连的。当输入层的特征维度变得很高时,这时全连接网络需要训练的参数就会增大很多,计算速度就会变得很慢...

cxmscb
2017/05/01
0
0
深度学习之卷积神经网络CNN及tensorflow代码实现示例

一、CNN的引入 在人工的全连接神经网络中,每相邻两层之间的每个神经元之间都是有边相连的。当输入层的特征维度变得很高时,这时全连接网络需要训练的参数就会增大很多,计算速度就会变得很慢...

qq_40525008
2018/05/07
0
0
CNN 分割

测试的是Cifar10数据集,采用VGG模型的网络参数是[32, 'M', 64, 'M', 128, 128, 'M', 256, 256, 'M', 256, 256],准确度大概在90.6左右 1、将输入图片分割为左右两部分,分别进行卷积运算,最......

osc_1zw3bob0
2019/04/23
0
0
深度学习之卷积神经网络CNN及tensorflow代码实现示例

一、CNN的引入 在人工的全连接神经网络中,每相邻两层之间的每个神经元之间都是有边相连的。当输入层的特征维度变得很高时,这时全连接网络需要训练的参数就会增大很多,计算速度就会变得很慢...

cxmscb
2017/05/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud开发人员如何解决服务冲突和实例乱窜?(IP实现方案)

点击上方“陶陶技术笔记”关注我 回复“资料”获取作者整理的大量学习资料! 一、背景 在我上一篇文章《Spring Cloud开发人员如何解决服务冲突和实例乱窜?》中提到使用服务的元数据来实现隔...

zlt2000
2019/09/06
0
0
Linux下diff命令用法详解

大家好,我是良许。 我们在平时工作的时候,经常要知道两个文件之间,以及同个文件不同版本之间有何异同点。在 Windows 下,有 beyond compare 这个好用的工具,而在 Linux 下,也有很多很强...

osc_th8jvcw7
41分钟前
7
0
万变不离其宗之UART要点总结

[导读] 单片机开发串口是应用最为广泛的通信接口,也是最为简单的通信接口之一,但是其中的一些要点你是否明了呢?来看看本人对串口的一些总结,当然这个总结并不能面面俱到,只是将个人认为...

osc_kyehmyzk
42分钟前
7
0
kafka的认识、安装与配置

认识Kafka 花费越少的精力在数据移动上,就能越专注于核心业务 --- 《Kafka:The Definitive Guide》 认识 Kafka 之前,先了解一下发布与订阅消息系统:消息的发送者不会直接把消息发送给接收...

osc_wy8nhxhn
44分钟前
0
0
使用pandas进行数据处理——DataFrame篇

  今天是pandas数据处理专题的第二篇文章,我们一起来聊聊pandas当中最重要的数据结构——DataFrame。   上一篇文章当中我们介绍了Series的用法,也提到了Series相当于一个一维的数组,只...

开源仔
44分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部