@@ -9,15 +9,15 @@ class Bottleneck(nn.Module):
9
9
def __init__ (self , in_planes , growth_rate ):
10
10
super (Bottleneck , self ).__init__ ()
11
11
self .bn1 = nn .BatchNorm2d (in_planes )
12
- self .conv1 = nn .Conv2d (in_planes , 4 * growth_rate , kernel_size = 1 , bias = False )
13
- self .bn2 = nn .BatchNorm2d (4 * growth_rate )
14
- self .conv2 = nn .Conv2d (4 * growth_rate , growth_rate , kernel_size = 3 , padding = 1 , bias = False )
12
+ self .conv1 = nn .Conv2d (in_planes , 4 * growth_rate , kernel_size = 1 , bias = False )
13
+ self .bn2 = nn .BatchNorm2d (4 * growth_rate )
14
+ self .conv2 = nn .Conv2d (4 * growth_rate , growth_rate , kernel_size = 3 , padding = 1 , bias = False )
15
15
16
16
def forward (self , x ):
17
- out = self .conv1 (func .relu (self .bn1 (x )))
18
- out = self .conv2 (func .relu (self .bn2 (out )))
19
- out = torch .cat ([out , x ], 1 )
20
- return out
17
+ x = self .conv1 (func .relu (self .bn1 (x )))
18
+ x = self .conv2 (func .relu (self .bn2 (x )))
19
+ x = torch .cat ([x , x ], 1 )
20
+ return x
21
21
22
22
23
23
class Transition (nn .Module ):
@@ -27,46 +27,46 @@ def __init__(self, in_planes, out_planes):
27
27
self .conv = nn .Conv2d (in_planes , out_planes , kernel_size = 1 , bias = False )
28
28
29
29
def forward (self , x ):
30
- out = self .conv (func .relu (self .bn (x )))
31
- out = func .avg_pool2d (out , 2 )
32
- return out
30
+ x = self .conv (func .relu (self .bn (x )))
31
+ x = func .avg_pool2d (x , 2 )
32
+ return x
33
33
34
34
35
35
class DenseNet (nn .Module ):
36
- def __init__ (self , block , nblocks , growth_rate = 12 , reduction = 0.5 , num_classes = 10 ):
36
+ def __init__ (self , block , num_block , growth_rate = 12 , reduction = 0.5 , num_classes = 10 ):
37
37
super (DenseNet , self ).__init__ ()
38
38
self .growth_rate = growth_rate
39
39
40
40
num_planes = 2 * growth_rate
41
41
self .conv1 = nn .Conv2d (3 , num_planes , kernel_size = 3 , padding = 1 , bias = False )
42
42
43
- self .dense1 = self ._make_dense_layers (block , num_planes , nblocks [0 ])
44
- num_planes += nblocks [0 ]* growth_rate
45
- out_planes = int (math .floor (num_planes * reduction ))
43
+ self .dense1 = self ._make_dense_layers (block , num_planes , num_block [0 ])
44
+ num_planes += num_block [0 ] * growth_rate
45
+ out_planes = int (math .floor (num_planes * reduction ))
46
46
self .trans1 = Transition (num_planes , out_planes )
47
47
num_planes = out_planes
48
48
49
- self .dense2 = self ._make_dense_layers (block , num_planes , nblocks [1 ])
50
- num_planes += nblocks [1 ]* growth_rate
51
- out_planes = int (math .floor (num_planes * reduction ))
49
+ self .dense2 = self ._make_dense_layers (block , num_planes , num_block [1 ])
50
+ num_planes += num_block [1 ] * growth_rate
51
+ out_planes = int (math .floor (num_planes * reduction ))
52
52
self .trans2 = Transition (num_planes , out_planes )
53
53
num_planes = out_planes
54
54
55
- self .dense3 = self ._make_dense_layers (block , num_planes , nblocks [2 ])
56
- num_planes += nblocks [2 ]* growth_rate
57
- out_planes = int (math .floor (num_planes * reduction ))
55
+ self .dense3 = self ._make_dense_layers (block , num_planes , num_block [2 ])
56
+ num_planes += num_block [2 ] * growth_rate
57
+ out_planes = int (math .floor (num_planes * reduction ))
58
58
self .trans3 = Transition (num_planes , out_planes )
59
59
num_planes = out_planes
60
60
61
- self .dense4 = self ._make_dense_layers (block , num_planes , nblocks [3 ])
62
- num_planes += nblocks [3 ]* growth_rate
61
+ self .dense4 = self ._make_dense_layers (block , num_planes , num_block [3 ])
62
+ num_planes += num_block [3 ] * growth_rate
63
63
64
64
self .bn = nn .BatchNorm2d (num_planes )
65
65
self .linear = nn .Linear (num_planes , num_classes )
66
66
67
- def _make_dense_layers (self , block , in_planes , nblock ):
67
+ def _make_dense_layers (self , block , in_planes , num_block ):
68
68
layers = []
69
- for i in range (nblock ):
69
+ for i in range (num_block ):
70
70
layers .append (block (in_planes , self .growth_rate ))
71
71
in_planes += self .growth_rate
72
72
return nn .Sequential (* layers )
@@ -84,20 +84,20 @@ def forward(self, x):
84
84
85
85
86
86
def DenseNet121 ():
87
- return DenseNet (Bottleneck , [6 ,12 ,24 ,16 ], growth_rate = 32 )
87
+ return DenseNet (Bottleneck , [6 , 12 , 24 , 16 ], growth_rate = 32 )
88
88
89
89
90
90
def DenseNet169 ():
91
- return DenseNet (Bottleneck , [6 ,12 ,32 ,32 ], growth_rate = 32 )
91
+ return DenseNet (Bottleneck , [6 , 12 , 32 , 32 ], growth_rate = 32 )
92
92
93
93
94
94
def DenseNet201 ():
95
- return DenseNet (Bottleneck , [6 ,12 ,48 ,32 ], growth_rate = 32 )
95
+ return DenseNet (Bottleneck , [6 , 12 , 48 , 32 ], growth_rate = 32 )
96
96
97
97
98
98
def DenseNet161 ():
99
- return DenseNet (Bottleneck , [6 ,12 ,36 ,24 ], growth_rate = 48 )
99
+ return DenseNet (Bottleneck , [6 , 12 , 36 , 24 ], growth_rate = 48 )
100
100
101
101
102
102
def densenet_cifar ():
103
- return DenseNet (Bottleneck , [6 ,12 ,24 ,16 ], growth_rate = 12 )
103
+ return DenseNet (Bottleneck , [6 , 12 , 24 , 16 ], growth_rate = 12 )
0 commit comments