FastReID 从pytorch到caffe (三)pytorch到caffemodel,融合conv和bn层

FastReID 从pytorch到caffe(三)pytorch到caffemodel,融合conv和bn层

    • 1. Conv和BN 融合源代码
    • 2. 在caffe转换中加入conv、BN融合

  • 在模型量化中,卷积层与BN层的融合较为常见,大致原理是将卷积层和BN层的计算重新整理,生成新的卷积层,具体公式如下
    FastReID 从pytorch到caffe (三)pytorch到caffemodel,融合conv和bn层_第1张图片

1. Conv和BN 融合源代码

  • 利用fuse_bn_sequential函数获取卷积层和BN层的权重与参数,通过重新计算获得新的卷积,这里的卷积有偏置bias,进而获得新的无BN的模型。
  • 完整代码如下:
import torch
import torch.nn as nn
def fuse_bn_sequential

你可能感兴趣的:(深度学习训练与移植,caffe,pytorch,深度学习)