RES_NET通过pytorch创建

class ResNetBig(nn.Module):
    def __init__(self, classes, structure, **kwargs):
        super().__init__()
        self.initialize = nn.Sequential(
            ConvBnRelu(3, 64, 7, 2, 3),
            nn.MaxPool2d(3, 2, padding=1)
        )
        self.body = nn.Sequential()
        for i, layer_num in enumerate(structure):
            if i == 0:
                for j in range(layer_num):
                    if j == 0:
                        self.body.append(ResCell2(64, 64, 256))
                    else:
                        self.body.append(ResCell2(256, 64, 256))
            else:
                for j in range(layer_num):
                    if j == 0:
                        in_channel = np.power(2, (i + 7))
                        exp_channel = np.power(2, (i + 6))
                        out_channel = np.power(2, (i + 8))
                        print(in_channel, exp_channel, out_channel)
                        print('___________________________________')
                        self.body.append(ResCell1(in_channel, exp_channel, out_channel))
                    else:
                        in_channel = np.power(2, (i + 8))
                        exp_channel = np.power(2, (i + 6))
                        out_channel = np.power(2, (i + 8))
                        print(in_channel, exp_channel, out_channel)
                        print('___________________________________')
                        self.body.append(ResCell2(in_channel, exp_channel, out_channel))
        self.top = nn.Sequential(
            nn.MaxPool2d(7),
            nn.Flatten(),
            nn.Linear(2048, classes),
            nn.Softmax()
        )

    def forward(self, inputs):
        x = self.initialize(inputs)
        x = self.body(x)
        x = self.top(x)
        return x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值