【转载】 【caffe转向pytorch】caffe的BN层+scale层=pytorch的BN层
PyTorch 转载 Caffe scale 转向 BN
2023-09-11 14:19:20 时间
原文地址:
https://blog.csdn.net/u011668104/article/details/81532592
---------------------------------------------------------------------------------------
caffe里面用BN层的时候通常后面接一下scale层,原因如下:
caffe 中为什么bn层要和scale层一起使用
这个问题首先你要理解batchnormal是做什么的。它其实做了两件事。
1)输入归一化 x_norm = (x-u)/std, 其中u和std是个累计计算的均值和方差。
2)y=alpha×x_norm + beta,对归一化后的x进行比例缩放和位移。其中alpha和beta是通过迭代学习的。
那么caffe中的bn层其实只做了第一件事。scale层做了第二件事。
这样你也就理解了scale层里为什么要设置bias_term=True,这个偏置就对应2)件事里的beta。
而在pytorch中,我们可以看一下代码注释说明
其中红框这部分,我们可以看一下这个公式是
本身同时完成两件事情。
因此,caffe的BN层+scale层 与 pytorch的BN层 等价
---------------------------------------------------------------------------------------------
相关文章
- 【PyTorch】教程:torch.nn (3)
- DL:深度学习框架Pytorch、 Tensorflow各种角度对比
- DL之IDE:深度学习环境安装之pytorch/torchvision版本和CUDA版本匹配(对应版本安装)、利用Pytorch查看自己电脑上CUDA版本及其相关信息之详细攻略
- jittor和pytorch生成网络对比之dragan
- pytorch多标签分类交叉熵loss
- 如果优美的将pytorch的卷积为自己所用
- 发现一个好用的pytorch框架:timm
- 【pytorch】torch.meshgrid()==>常用于生成二维网格,比如图像的坐标点
- mac使用pytorch
- Pytorch 实现多层感知机
- 【PyTorch】安装支持cuda的pytorch-1.10.2
- 【PyTorch】 yolov5推理
- 使用pytorch实现AI中的常见方法
- Pytorch总结十二之 深度神经网络模型:NIN、GoogLeNet
- Pytorch总结四之 多层感知机原理及简洁实现
- 【CV】第 3 章:使用 PyTorch 构建深度神经网络
- pytorch 31 基于mmdetection用yolox训练自己的coco数据集
- pytorch 28 jit模型(TorchScript)转换为onnx模型
- 实战OpenPose项目3:pytorch 实现openpose(包括手和身体姿态估计)
- pytorch 入门(二) cnn 手写数字识别