多个通路的 out_ch 尽可能平均分配的实现笔记

1. O4-mini-Cursor

kernels = [1, 3, 5]
strides = [1, 3, 5]
# 均分通道并分配余数
base_ch = out_ch // len(kernels)
rem = out_ch - base_ch * len(kernels)
# branch_chs 示例:[base_ch+1, base_ch, base_ch] (如果 rem=1)
branch_chs = [base_ch + (1 if i < rem else 0) for i in range(len(kernels))]
self.branches = nn.ModuleList([
    nn.Conv2d(in_ch, c, k, stride=s, padding=k // 2, bias=bias)
    for c, (k, s) in zip(branch_chs, zip(kernels, strides))
])
# fuse 输入通道改为所有 branch 输出通道之和
fuse_in = sum(branch_chs)
self.fuse = nn.Conv2d(fuse_in, out_ch, 1, bias=bias)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值