Pytorch实现DenseNet,先收藏了

class DenseNet(nn.Module):

def init(self, init_channels=64, growth_rate=32, blocks=[6, 12, 24, 16],num_classes=1000):

super(DenseNet, self).init()

bn_size = 4

drop_rate = 0

self.conv1 = Conv1(in_planes=3, places=init_channels)

num_features = init_channels

self.layer1 = DenseBlock(num_layers=blocks[0], inplances=num_features, growth_rate=growth_rate, bn_size=bn_size, drop_rate=drop_rate)

num_features = num_features + blocks[0] * growth_rate

self.transition1 = _TransitionLayer(inplace=num_features, plance=num_features // 2)

num_features = num_features // 2

self.layer2 = DenseBlock(num_layers=blocks[1], inplances=num_features, growth_rate=growth_rate, bn_size=bn_size, drop_rate=drop_rate)

num_features = num_features + blocks[1] * growth_rate

self.transition2 = _TransitionLayer(inplace=num_features, plance=num_features // 2)

num_features = num_features // 2

self.layer3 = DenseBlock(num_layers=blocks[2], inplances=num_features, growth_rate=growth_rate, bn_size=bn_size, drop_rate=dro

你可能感兴趣的:(Pytorch实现DenseNet,先收藏了)