TensorRT:ShuffLayer && BatchNorm1d

在将包含FC + BN操作的Caffe模型转换为PyTorch时,需使用nn.BatchNorm1d()。在TensorRT中,由于1d和2d BN的计算相同,仅输入维度不同,可以通过ShuffleLayer调整1d输入为2d,结合2d BN实现功能,最后再reshape回原始维度。经过验证,Linux+PyTorch和Win+RT5的输出一致,方法有效。
摘要由CSDN通过智能技术生成

正常的网络结构都是 Conv + BN + Relu, 但自己之前项目中搭建的caffe模型是FC + BN的操作,所以转到pytorch就卡了一下

pytorch中FC后面如果接上BN,该怎么操作呢?

使用nn.BatchNorm1d(),而不是nn.BatchNrom2d(),因为给到BN层的数据维度信息是不一样的

如果是Conv + BN,可以看到BN的输入是NCHW

如果是FC + BN, 可以看到BN 的输入是 NC

所以需要调用的不同的BN接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微风❤水墨

你的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值