in utils/gluon/utils/resnetv1.py [0:0]
def _make_layer(self, stage_index, block, blocks, num_out, num_mid, ratio=0., strides=1):
# -1 stands for None
mid_planes = (num_mid - int(ratio * num_mid), int(ratio * num_mid))
mid_planes = tuple(c if c != 0 else -1 for c in mid_planes)
out_planes = (num_out - int(ratio * num_out), int(ratio * num_out))
out_planes = tuple(c if c != 0 else -1 for c in out_planes)
for i in range(0, blocks):
name = 'L%d_B%d' % (stage_index, i)
setattr(self, name, block(self.inplanes, mid_planes, out_planes,
groups=self.groups,
strides=(strides if i == 0 else 1),
norm_kwargs=self.norm_kwargs,
last_gamma=self.last_gamma,
use_se=self.use_se,
extra_bn=self.extra_bn,
down_pos=self.down_pos,
se_planes=int(num_out/16),
name_prefix="%s_" % name))
self.inplanes = out_planes