探讨torch模型中复用同一卷积块的效果和影响

在一些最新的论文中,经常会看到有framework多次使用同一检测头对不同的输入进行检测,理论上讲,这是很合理的分而治之思想,但是在torch中,同一卷积块的复用究竟会产生怎样的影响,我觉得并不会那么顺人意。尤其是在类似cascade等迭代网络结构中,因为同一卷积块在前向传播时,其权重等参数是固定不变的,只会在计算损失后更新,并在下一轮前向传播中起作用,并不会因为在一次前向传播中先后使用而先后更新。

代码如下,简单定义了一个卷积神经网络模型,主要有conv1、conv2、conv3和classification中的权重需要训练和更新。

 

from torch import nn
import torch
import torch as t
from PIL import Image
import numpy as np
from tqdm import tqdm

from tensorboardX import SummaryWriter  # 用于进行可视化
from torchviz import make_dot



class MyNetk(t.nn.Module):
    def __init__(self):
        super(MyNetk, self).__init__()
        # print("卷积网络")
        self.conv1 = nn.Sequential(
            nn.Conv2d(
                in_channels=3,
                out_channels=4,
                kernel_size=3,
                stride=1,
                padding=1,
                b
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

橙子树下

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值