MCPcopy Create free account
hub / github.com/apache/singa / Block

Class Block

examples/cnn/model/xceptionnet.py:25–110  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23
24
25class Block(layer.Layer):
26
27 def __init__(self,
28 in_filters,
29 out_filters,
30 reps,
31 strides=1,
32 padding=0,
33 start_with_relu=True,
34 grow_first=True):
35 super(Block, self).__init__()
36
37 if out_filters != in_filters or strides != 1:
38 self.skip = layer.Conv2d(in_filters,
39 out_filters,
40 1,
41 stride=strides,
42 padding=padding,
43 bias=False)
44 self.skipbn = layer.BatchNorm2d(out_filters)
45 else:
46 self.skip = None
47
48 self.layers = []
49
50 filters = in_filters
51 if grow_first:
52 self.layers.append(layer.ReLU())
53 self.layers.append(
54 layer.SeparableConv2d(in_filters,
55 out_filters,
56 3,
57 stride=1,
58 padding=1,
59 bias=False))
60 self.layers.append(layer.BatchNorm2d(out_filters))
61 filters = out_filters
62
63 for i in range(reps - 1):
64 self.layers.append(layer.ReLU())
65 self.layers.append(
66 layer.SeparableConv2d(filters,
67 filters,
68 3,
69 stride=1,
70 padding=1,
71 bias=False))
72 self.layers.append(layer.BatchNorm2d(filters))
73
74 if not grow_first:
75 self.layers.append(layer.ReLU())
76 self.layers.append(
77 layer.SeparableConv2d(in_filters,
78 out_filters,
79 3,
80 stride=1,
81 padding=1,
82 bias=False))

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected