Python mxnet.gluon.nn.BatchNorm() Examples
The following are 30
code examples of mxnet.gluon.nn.BatchNorm().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
mxnet.gluon.nn
, or try the search function
.
Example #1
Source File: fnasnet.py From insightface with MIT License | 6 votes |
def __init__(self, in_channels_left, out_channels_left, in_channels_right, out_channels_right): super(ReductionCell0, self).__init__() self.conv_prev_1x1 = nn.HybridSequential() self.conv_prev_1x1.add(nn.Activation(activation='relu')) self.conv_prev_1x1.add(nn.Conv2D(channels=out_channels_left, kernel_size=1, strides=1, use_bias=False)) self.conv_prev_1x1.add(nn.BatchNorm(epsilon=0.001, momentum=0.1)) self.conv_1x1 = nn.HybridSequential() self.conv_1x1.add(nn.Activation(activation='relu')) self.conv_1x1.add(nn.Conv2D(channels=out_channels_right, kernel_size=1, strides=1, use_bias=False)) self.conv_1x1.add(nn.BatchNorm(epsilon=0.001, momentum=0.1)) self.comb_iter_0_left = BranchSeparablesReduction(out_channels_right, out_channels_right, 5, 2, 2, bias=False) self.comb_iter_0_right = BranchSeparablesReduction(out_channels_right, out_channels_right, 7, 2, 3, bias=False) self.comb_iter_1_left = MaxPoolPad() self.comb_iter_1_right = BranchSeparablesReduction(out_channels_right, out_channels_right, 7, 2, 3, bias=False) self.comb_iter_2_left = AvgPoolPad() self.comb_iter_2_right = BranchSeparablesReduction(out_channels_right, out_channels_right, 5, 2, 2, bias=False) self.comb_iter_3_right = nn.AvgPool2D(3, strides=1, padding=1) self.comb_iter_4_left = BranchSeparablesReduction(out_channels_right, out_channels_right, 3, 1, 1, bias=False) self.comb_iter_4_right = MaxPoolPad()
Example #2
Source File: test_gluon.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 6 votes |
def test_reshape_batchnorm_reshape_batchnorm(): class Net(gluon.HybridBlock): def __init__(self, shape, **kwargs): super(Net, self).__init__(**kwargs) with self.name_scope(): self.conv0 = nn.Conv2D(128, (1, 1)) self.bn0 = nn.BatchNorm() self.bn1 = nn.BatchNorm() self.reshape = shape def hybrid_forward(self, F, x): x_in = self.conv0(x) x_reshape = x_in.reshape(self.reshape[0]) y = self.bn0(x_reshape) y_reshape = y.reshape(self.reshape[1]) out = self.bn1(y_reshape) return out x = mx.nd.random.uniform(shape=(4, 32, 64, 64)) shape = [(4, 64, 64, -1), (4, 128, -1, 32)] net = Net(shape) check_layer_forward_withinput(net, x)
Example #3
Source File: test_gluon.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 6 votes |
def test_slice_batchnorm_reshape_batchnorm(): class Net(gluon.HybridBlock): def __init__(self, shape, slice, **kwargs): super(Net, self).__init__(**kwargs) with self.name_scope(): self.conv0 = nn.Conv2D(128, (1, 1)) self.bn0 = nn.BatchNorm() self.bn1 = nn.BatchNorm() self.reshape = shape self.slice = slice def hybrid_forward(self, F, x): x_in = self.conv0(x) x_slice = x_in.slice(begin=tuple(self.slice[0]), end=tuple(self.slice[1])) y = self.bn0(x_slice) y_reshape = y.reshape(self.reshape) out = self.bn1(y_reshape) return out x = mx.nd.random.uniform(shape=(16, 128, 256, 256)) slice = [[0, 0, 0, 0], [4, 32, 32, 32]] shape = (1, 128, 64, -1) net = Net(shape, slice) check_layer_forward_withinput(net, x)
Example #4
Source File: resnet.py From gluon-cv with Apache License 2.0 | 6 votes |
def __init__(self, depth, ctx, pretrained=True, num_classes=0): super(ResNet, self).__init__() self.pretrained = pretrained with self.name_scope(): network = ResNet.__factory[depth](pretrained=pretrained, ctx=ctx).features[0:-1] network[-1][0].body[0]._kwargs['stride'] = (1, 1) network[-1][0].downsample[0]._kwargs['stride'] = (1, 1) self.base = nn.HybridSequential() for n in network: self.base.add(n) self.avgpool = nn.GlobalAvgPool2D() self.flatten = nn.Flatten() self.bn = nn.BatchNorm(center=False, scale=True) self.bn.initialize(init=init.Zero(), ctx=ctx) self.classifier = nn.Dense(num_classes, use_bias=False) self.classifier.initialize(init=init.Normal(0.001), ctx=ctx)
Example #5
Source File: test_gluon.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 6 votes |
def test_slice_batchnorm_slice_batchnorm(): class Net(gluon.HybridBlock): def __init__(self, slice, **kwargs): super(Net, self).__init__(**kwargs) with self.name_scope(): self.conv0 = nn.Conv2D(128, (1, 1)) self.bn0 = nn.BatchNorm() self.bn1 = nn.BatchNorm() self.slice = slice def hybrid_forward(self, F, x): x_in = self.conv0(x) x_slice = x_in.slice(begin=tuple(self.slice[0][0]), end=tuple(self.slice[0][1])) y = self.bn0(x_slice) y_slice = y.slice(begin=tuple(self.slice[1][0]), end=tuple(self.slice[1][1])) out = self.bn1(y_slice) return out x = mx.nd.random.uniform(shape=(16, 128, 256, 256)) slice = [[[0, 0, 0, 0], [4, 32, 32, 32]], [[0, 0, 0, 0], [2, 64, 16, 16]]] net = Net(slice) check_layer_forward_withinput(net, x)
Example #6
Source File: test_gluon.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 6 votes |
def test_slice_batchnorm(): class Net(gluon.HybridBlock): def __init__(self, slice, **kwargs): super(Net, self).__init__(**kwargs) with self.name_scope(): self.conv0 = nn.Conv2D(128, (1, 1)) self.bn0 = nn.BatchNorm() self.slice = slice def hybrid_forward(self, F, x): x_in = self.conv0(x) x_slice = x_in.slice(begin=tuple(self.slice[0]), end=tuple(self.slice[1])) out = self.bn0(x_slice) return out x = mx.nd.random.uniform(shape=(16, 128, 256, 256)) slice = [[0, 0, 0, 0], [4, 32, 32, 32]] net = Net(slice) check_layer_forward_withinput(net, x)
Example #7
Source File: train_srgan.py From gluon-cv with Apache License 2.0 | 6 votes |
def __init__(self): super(SRGenerator, self).__init__() self.conv1 = nn.Conv2D(64, kernel_size=3, strides=1,padding=1,activation='relu') self.res_block = nn.HybridSequential() with self.name_scope(): for i in range(16): self.res_block.add( ResnetBlock() ) self.res_block.add( nn.Conv2D(64, kernel_size=3, strides=1,padding=1,use_bias=False), nn.BatchNorm() ) self.subpix_block1 = SubpixelBlock() self.subpix_block2 = SubpixelBlock() self.conv4 = nn.Conv2D(3,kernel_size=1,strides=1,activation='tanh')
Example #8
Source File: test_gluon.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 6 votes |
def test_reshape_batchnorm_slice_batchnorm(): class Net(gluon.HybridBlock): def __init__(self, shape, slice, **kwargs): super(Net, self).__init__(**kwargs) with self.name_scope(): self.conv0 = nn.Conv2D(128, (1, 1)) self.bn0 = nn.BatchNorm() self.bn1 = nn.BatchNorm() self.reshape = shape self.slice = slice def hybrid_forward(self, F, x): x_in = self.conv0(x) x_reshape = x_in.reshape(self.reshape) y = self.bn0(x_reshape) y_slice = y.slice(begin=tuple(self.slice[0]), end=tuple(self.slice[1])) out = self.bn1(y_slice) return out x = mx.nd.random.uniform(shape=(4, 32, 64, 64)) slice = [[0, 0, 0, 0], [2, 64, 32, 32]] shape = (4, 64, 64, -1) net = Net(shape, slice) check_layer_forward_withinput(net, x)
Example #9
Source File: test_gluon.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 6 votes |
def test_fill_shape_load(): ctx = mx.context.current_context() net1 = nn.HybridSequential() with net1.name_scope(): net1.add(nn.Conv2D(64, kernel_size=2, padding=1), nn.BatchNorm(), nn.Dense(10)) net1.hybridize() net1.initialize(ctx=ctx) net1(mx.nd.ones((2,3,5,7), ctx)) net1.save_parameters('net_fill.params') net2 = nn.HybridSequential() with net2.name_scope(): net2.add(nn.Conv2D(64, kernel_size=2, padding=1), nn.BatchNorm(), nn.Dense(10)) net2.hybridize() net2.initialize() net2.load_parameters('net_fill.params', ctx) assert net2[0].weight.shape[1] == 3, net2[0].weight.shape[1] assert net2[1].gamma.shape[0] == 64, net2[1].gamma.shape[0] assert net2[2].weight.shape[1] == 3072, net2[2].weight.shape[1]
Example #10
Source File: fnasnet.py From insightocr with MIT License | 6 votes |
def __init__(self): super(CellStem0, self).__init__() self.conv_1x1 = nn.HybridSequential() self.conv_1x1.add(nn.Activation(activation='relu')) self.conv_1x1.add(nn.Conv2D(42, 1, strides=1, use_bias=False)) self.conv_1x1.add(nn.BatchNorm(epsilon=0.001, momentum=0.1)) self.comb_iter_0_left = BranchSeparables(42, 42, 5, 2, 2) self.comb_iter_0_right = BranchSeparablesStem(96, 42, 7, 2, 3, bias=False) self.comb_iter_1_left = nn.MaxPool2D(pool_size=3, strides=2, padding=1) self.comb_iter_1_right = BranchSeparablesStem(96, 42, 7, 2, 3, bias=False) self.comb_iter_2_left = nn.AvgPool2D(pool_size=3, strides=2, padding=1) self.comb_iter_2_right = BranchSeparablesStem(96, 42, 5, 2, 2, bias=False) self.comb_iter_3_right = nn.AvgPool2D(pool_size=3, strides=1, padding=1) self.comb_iter_4_left = BranchSeparables(42, 42, 3, 1, 1, bias=False) self.comb_iter_4_right = nn.MaxPool2D(pool_size=3, strides=2, padding=1)
Example #11
Source File: fnasnet.py From insightocr with MIT License | 6 votes |
def __init__(self, in_channels_left, out_channels_left, in_channels_right, out_channels_right): super(ReductionCell0, self).__init__() self.conv_prev_1x1 = nn.HybridSequential() self.conv_prev_1x1.add(nn.Activation(activation='relu')) self.conv_prev_1x1.add(nn.Conv2D(channels=out_channels_left, kernel_size=1, strides=1, use_bias=False)) self.conv_prev_1x1.add(nn.BatchNorm(epsilon=0.001, momentum=0.1)) self.conv_1x1 = nn.HybridSequential() self.conv_1x1.add(nn.Activation(activation='relu')) self.conv_1x1.add(nn.Conv2D(channels=out_channels_right, kernel_size=1, strides=1, use_bias=False)) self.conv_1x1.add(nn.BatchNorm(epsilon=0.001, momentum=0.1)) self.comb_iter_0_left = BranchSeparablesReduction(out_channels_right, out_channels_right, 5, 2, 2, bias=False) self.comb_iter_0_right = BranchSeparablesReduction(out_channels_right, out_channels_right, 7, 2, 3, bias=False) self.comb_iter_1_left = MaxPoolPad() self.comb_iter_1_right = BranchSeparablesReduction(out_channels_right, out_channels_right, 7, 2, 3, bias=False) self.comb_iter_2_left = AvgPoolPad() self.comb_iter_2_right = BranchSeparablesReduction(out_channels_right, out_channels_right, 5, 2, 2, bias=False) self.comb_iter_3_right = nn.AvgPool2D(3, strides=1, padding=1) self.comb_iter_4_left = BranchSeparablesReduction(out_channels_right, out_channels_right, 3, 1, 1, bias=False) self.comb_iter_4_right = MaxPoolPad()
Example #12
Source File: residual_attentionnet.py From gluon-cv with Apache License 2.0 | 6 votes |
def __init__(self, channels, scale=(1, 2, 1), norm_layer=BatchNorm, norm_kwargs=None, **kwargs): super(AttentionModule_stage4, self).__init__(**kwargs) p, t, r = scale with self.name_scope(): self.first_residual_blocks = nn.HybridSequential() _add_block(self.first_residual_blocks, ResidualBlock, p, channels, norm_layer=norm_layer, norm_kwargs=norm_kwargs) self.trunk_branches = nn.HybridSequential() _add_block(self.trunk_branches, ResidualBlock, t, channels, norm_layer=norm_layer, norm_kwargs=norm_kwargs) self.softmax1_blocks = nn.HybridSequential() _add_block(self.softmax1_blocks, ResidualBlock, 2 * r, channels, norm_layer=norm_layer, norm_kwargs=norm_kwargs) self.softmax2_blocks = nn.HybridSequential() _add_sigmoid_layer(self.softmax2_blocks, channels, norm_layer, norm_kwargs) self.last_blocks = ResidualBlock(channels)
Example #13
Source File: residual_attentionnet.py From gluon-cv with Apache License 2.0 | 6 votes |
def __init__(self, channels, size1=14, scale=(1, 2, 1), norm_layer=BatchNorm, norm_kwargs=None, **kwargs): super(AttentionModule_stage3, self).__init__(**kwargs) p, t, r = scale with self.name_scope(): self.first_residual_blocks = nn.HybridSequential() _add_block(self.first_residual_blocks, ResidualBlock, p, channels, norm_layer=norm_layer, norm_kwargs=norm_kwargs) self.trunk_branches = nn.HybridSequential() _add_block(self.trunk_branches, ResidualBlock, t, channels, norm_layer=norm_layer, norm_kwargs=norm_kwargs) self.mpool1 = nn.MaxPool2D(pool_size=3, strides=2, padding=1) self.softmax1_blocks = nn.HybridSequential() _add_block(self.softmax1_blocks, ResidualBlock, 2 * r, channels, norm_layer=norm_layer, norm_kwargs=norm_kwargs) self.interpolation1 = UpsamplingBilinear2d(size=size1) self.softmax2_blocks = nn.HybridSequential() _add_sigmoid_layer(self.softmax2_blocks, channels, norm_layer, norm_kwargs) self.last_blocks = ResidualBlock(channels)
Example #14
Source File: fdensenet.py From insightface with MIT License | 6 votes |
def _make_dense_layer(growth_rate, bn_size, dropout): new_features = nn.HybridSequential(prefix='') new_features.add(nn.BatchNorm()) #new_features.add(nn.Activation('relu')) new_features.add(Act()) new_features.add(nn.Conv2D(bn_size * growth_rate, kernel_size=1, use_bias=False)) new_features.add(nn.BatchNorm()) #new_features.add(nn.Activation('relu')) new_features.add(Act()) new_features.add(nn.Conv2D(growth_rate, kernel_size=3, padding=1, use_bias=False)) if dropout: new_features.add(nn.Dropout(dropout)) out = gluon.contrib.nn.HybridConcurrent(axis=1, prefix='') out.add(gluon.contrib.nn.Identity()) out.add(new_features) return out
Example #15
Source File: fdensenet.py From insightface with MIT License | 6 votes |
def __init__(self, num_init_features, growth_rate, block_config, bn_size=4, dropout=0, classes=1000, **kwargs): super(DenseNet, self).__init__(**kwargs) with self.name_scope(): self.features = nn.HybridSequential(prefix='') self.features.add(nn.Conv2D(num_init_features, kernel_size=3, strides=1, padding=1, use_bias=False)) self.features.add(nn.BatchNorm()) self.features.add(nn.Activation('relu')) self.features.add(nn.MaxPool2D(pool_size=3, strides=2, padding=1)) # Add dense blocks num_features = num_init_features for i, num_layers in enumerate(block_config): self.features.add(_make_dense_block(num_layers, bn_size, growth_rate, dropout, i+1)) num_features = num_features + num_layers * growth_rate if i != len(block_config) - 1: self.features.add(_make_transition(num_features // 2)) num_features = num_features // 2 self.features.add(nn.BatchNorm()) self.features.add(nn.Activation('relu')) #self.features.add(nn.AvgPool2D(pool_size=7)) #self.features.add(nn.Flatten()) #self.output = nn.Dense(classes)
Example #16
Source File: fnasnet.py From insightface with MIT License | 6 votes |
def __init__(self): super(CellStem0, self).__init__() self.conv_1x1 = nn.HybridSequential() self.conv_1x1.add(nn.Activation(activation='relu')) self.conv_1x1.add(nn.Conv2D(42, 1, strides=1, use_bias=False)) self.conv_1x1.add(nn.BatchNorm(epsilon=0.001, momentum=0.1)) self.comb_iter_0_left = BranchSeparables(42, 42, 5, 2, 2) self.comb_iter_0_right = BranchSeparablesStem(96, 42, 7, 2, 3, bias=False) self.comb_iter_1_left = nn.MaxPool2D(pool_size=3, strides=2, padding=1) self.comb_iter_1_right = BranchSeparablesStem(96, 42, 7, 2, 3, bias=False) self.comb_iter_2_left = nn.AvgPool2D(pool_size=3, strides=2, padding=1) self.comb_iter_2_right = BranchSeparablesStem(96, 42, 5, 2, 2, bias=False) self.comb_iter_3_right = nn.AvgPool2D(pool_size=3, strides=1, padding=1) self.comb_iter_4_left = BranchSeparables(42, 42, 3, 1, 1, bias=False) self.comb_iter_4_right = nn.MaxPool2D(pool_size=3, strides=2, padding=1)
Example #17
Source File: fnasnet.py From insightface with MIT License | 6 votes |
def __init__(self, in_channels_left, out_channels_left, in_channels_right, out_channels_right): super(ReductionCell1, self).__init__() self.conv_prev_1x1 = nn.HybridSequential() self.conv_prev_1x1.add(nn.Activation(activation='relu')) self.conv_prev_1x1.add(nn.Conv2D(channels=out_channels_left, kernel_size=1, strides=1, use_bias=False)) self.conv_prev_1x1.add(nn.BatchNorm(epsilon=0.001, momentum=0.1)) self.conv_1x1 = nn.HybridSequential() self.conv_1x1.add(nn.Activation(activation='relu')) self.conv_1x1.add(nn.Conv2D(channels=out_channels_right, kernel_size=1, strides=1, use_bias=False)) self.conv_1x1.add(nn.BatchNorm(epsilon=0.001, momentum=0.1)) self.comb_iter_0_left = BranchSeparables(out_channels_right, out_channels_right, 5, 2, 2, bias=False) self.comb_iter_0_right = BranchSeparables(out_channels_right, out_channels_right, 7, 2, 3, bias=False) self.comb_iter_1_left = nn.MaxPool2D(3, strides=2, padding=1) self.comb_iter_1_right = BranchSeparables(out_channels_right, out_channels_right, 7, 2, 3, bias=False) self.comb_iter_2_left = nn.AvgPool2D(3, strides=2, padding=1) self.comb_iter_2_right = BranchSeparables(out_channels_right, out_channels_right, 5, 2, 2, bias=False) self.comb_iter_3_right = nn.AvgPool2D(3, strides=1, padding=1) self.comb_iter_4_left = BranchSeparables(out_channels_right, out_channels_right, 3, 1, 1, bias=False) self.comb_iter_4_right = nn.MaxPool2D(3, strides=2, padding=1)
Example #18
Source File: fnasnet.py From insightface with MIT License | 6 votes |
def __init__(self, in_channels_left, out_channels_left, in_channels_right, out_channels_right): super(NormalCell, self).__init__() self.conv_prev_1x1 = nn.HybridSequential() self.conv_prev_1x1.add(nn.Activation(activation='relu')) self.conv_prev_1x1.add(nn.Conv2D(channels=out_channels_left, kernel_size=1, strides=1, use_bias=False)) self.conv_prev_1x1.add(nn.BatchNorm(epsilon=0.001, momentum=0.1)) self.conv_1x1 = nn.HybridSequential() self.conv_1x1.add(nn.Activation(activation='relu')) self.conv_1x1.add(nn.Conv2D(channels=out_channels_right, kernel_size=1, strides=1, use_bias=False)) self.conv_1x1.add(nn.BatchNorm(epsilon=0.001, momentum=0.1)) self.comb_iter_0_left = BranchSeparables(out_channels_right, out_channels_right, 5, 1, 2, bias=False) self.comb_iter_0_right = BranchSeparables(out_channels_left, out_channels_left, 3, 1, 1, bias=False) self.comb_iter_1_left = BranchSeparables(out_channels_left, out_channels_left, 5, 1, 2, bias=False) self.comb_iter_1_right = BranchSeparables(out_channels_left, out_channels_left, 3, 1, 1, bias=False) self.comb_iter_2_left = nn.AvgPool2D(3, strides=1, padding=1) self.comb_iter_3_left = nn.AvgPool2D(3, strides=1, padding=1) self.comb_iter_3_right = nn.AvgPool2D(3, strides=1, padding=1) self.comb_iter_4_left = BranchSeparables(out_channels_right, out_channels_right, 3, 1, 1, bias=False)
Example #19
Source File: fnasnet.py From insightocr with MIT License | 6 votes |
def __init__(self, in_channels_left, out_channels_left, in_channels_right, out_channels_right): super(ReductionCell1, self).__init__() self.conv_prev_1x1 = nn.HybridSequential() self.conv_prev_1x1.add(nn.Activation(activation='relu')) self.conv_prev_1x1.add(nn.Conv2D(channels=out_channels_left, kernel_size=1, strides=1, use_bias=False)) self.conv_prev_1x1.add(nn.BatchNorm(epsilon=0.001, momentum=0.1)) self.conv_1x1 = nn.HybridSequential() self.conv_1x1.add(nn.Activation(activation='relu')) self.conv_1x1.add(nn.Conv2D(channels=out_channels_right, kernel_size=1, strides=1, use_bias=False)) self.conv_1x1.add(nn.BatchNorm(epsilon=0.001, momentum=0.1)) self.comb_iter_0_left = BranchSeparables(out_channels_right, out_channels_right, 5, 2, 2, bias=False) self.comb_iter_0_right = BranchSeparables(out_channels_right, out_channels_right, 7, 2, 3, bias=False) self.comb_iter_1_left = nn.MaxPool2D(3, strides=2, padding=1) self.comb_iter_1_right = BranchSeparables(out_channels_right, out_channels_right, 7, 2, 3, bias=False) self.comb_iter_2_left = nn.AvgPool2D(3, strides=2, padding=1) self.comb_iter_2_right = BranchSeparables(out_channels_right, out_channels_right, 5, 2, 2, bias=False) self.comb_iter_3_right = nn.AvgPool2D(3, strides=1, padding=1) self.comb_iter_4_left = BranchSeparables(out_channels_right, out_channels_right, 3, 1, 1, bias=False) self.comb_iter_4_right = nn.MaxPool2D(3, strides=2, padding=1)
Example #20
Source File: resnext.py From gluon-cv with Apache License 2.0 | 5 votes |
def se_resnext101_64x4d(**kwargs): r"""SE-ResNext101 64x4d model from `"Aggregated Residual Transformations for Deep Neural Network" <http://arxiv.org/abs/1611.05431>`_ paper. Parameters ---------- cardinality: int Number of groups bottleneck_width: int Width of bottleneck block pretrained : bool or str Boolean value controls whether to load the default pretrained weights for model. String value represents the hashtag for a certain version of pretrained weights. ctx : Context, default CPU The context in which to load the pretrained weights. root : str, default '~/.mxnet/models' Location for keeping the model parameters. norm_layer : object Normalization layer used (default: :class:`mxnet.gluon.nn.BatchNorm`) Can be :class:`mxnet.gluon.nn.BatchNorm` or :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. norm_kwargs : dict Additional `norm_layer` arguments, for example `num_devices=4` for :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. """ kwargs['use_se'] = True return get_resnext(101, 64, 4, **kwargs)
Example #21
Source File: resnext.py From gluon-cv with Apache License 2.0 | 5 votes |
def se_resnext101_32x4d(**kwargs): r"""SE-ResNext101 32x4d model from `"Aggregated Residual Transformations for Deep Neural Network" <http://arxiv.org/abs/1611.05431>`_ paper. Parameters ---------- cardinality: int Number of groups bottleneck_width: int Width of bottleneck block pretrained : bool or str Boolean value controls whether to load the default pretrained weights for model. String value represents the hashtag for a certain version of pretrained weights. ctx : Context, default CPU The context in which to load the pretrained weights. root : str, default '~/.mxnet/models' Location for keeping the model parameters. norm_layer : object Normalization layer used (default: :class:`mxnet.gluon.nn.BatchNorm`) Can be :class:`mxnet.gluon.nn.BatchNorm` or :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. norm_kwargs : dict Additional `norm_layer` arguments, for example `num_devices=4` for :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. """ kwargs['use_se'] = True return get_resnext(101, 32, 4, **kwargs)
Example #22
Source File: resnext.py From gluon-cv with Apache License 2.0 | 5 votes |
def resnext101_64x4d(**kwargs): r"""ResNext101 64x4d model from `"Aggregated Residual Transformations for Deep Neural Network" <http://arxiv.org/abs/1611.05431>`_ paper. Parameters ---------- cardinality: int Number of groups bottleneck_width: int Width of bottleneck block pretrained : bool or str Boolean value controls whether to load the default pretrained weights for model. String value represents the hashtag for a certain version of pretrained weights. ctx : Context, default CPU The context in which to load the pretrained weights. root : str, default '~/.mxnet/models' Location for keeping the model parameters. norm_layer : object Normalization layer used (default: :class:`mxnet.gluon.nn.BatchNorm`) Can be :class:`mxnet.gluon.nn.BatchNorm` or :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. norm_kwargs : dict Additional `norm_layer` arguments, for example `num_devices=4` for :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. """ kwargs['use_se'] = False return get_resnext(101, 64, 4, **kwargs)
Example #23
Source File: resnext.py From gluon-cv with Apache License 2.0 | 5 votes |
def resnext101_32x4d(**kwargs): r"""ResNext101 32x4d model from `"Aggregated Residual Transformations for Deep Neural Network" <http://arxiv.org/abs/1611.05431>`_ paper. Parameters ---------- cardinality: int Number of groups bottleneck_width: int Width of bottleneck block pretrained : bool or str Boolean value controls whether to load the default pretrained weights for model. String value represents the hashtag for a certain version of pretrained weights. ctx : Context, default CPU The context in which to load the pretrained weights. root : str, default '~/.mxnet/models' Location for keeping the model parameters. norm_layer : object Normalization layer used (default: :class:`mxnet.gluon.nn.BatchNorm`) Can be :class:`mxnet.gluon.nn.BatchNorm` or :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. norm_kwargs : dict Additional `norm_layer` arguments, for example `num_devices=4` for :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. """ kwargs['use_se'] = False return get_resnext(101, 32, 4, **kwargs)
Example #24
Source File: resnext.py From gluon-cv with Apache License 2.0 | 5 votes |
def resnext50_32x4d(**kwargs): r"""ResNext50 32x4d model from `"Aggregated Residual Transformations for Deep Neural Network" <http://arxiv.org/abs/1611.05431>`_ paper. Parameters ---------- cardinality: int Number of groups bottleneck_width: int Width of bottleneck block pretrained : bool or str Boolean value controls whether to load the default pretrained weights for model. String value represents the hashtag for a certain version of pretrained weights. ctx : Context, default CPU The context in which to load the pretrained weights. root : str, default '~/.mxnet/models' Location for keeping the model parameters. norm_layer : object Normalization layer used (default: :class:`mxnet.gluon.nn.BatchNorm`) Can be :class:`mxnet.gluon.nn.BatchNorm` or :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. norm_kwargs : dict Additional `norm_layer` arguments, for example `num_devices=4` for :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. """ kwargs['use_se'] = False return get_resnext(50, 32, 4, **kwargs)
Example #25
Source File: train_wgan.py From gluon-cv with Apache License 2.0 | 5 votes |
def weights_init(layers): for layer in layers: classname = layer.__class__.__name__ if classname.find('Conv') != -1: layer.weight.set_data(mx.ndarray.random.normal(0.0,0.02,shape=layer.weight.data().shape)) elif classname.find('BatchNorm') != -1: layer.gamma.set_data(mx.ndarray.random.normal(1.0, 0.02,shape=layer.gamma.data().shape)) layer.beta.set_data(mx.ndarray.zeros(shape=layer.beta.data().shape))
Example #26
Source File: resnest.py From gluon-cv with Apache License 2.0 | 5 votes |
def resnest26(pretrained=False, root='~/.mxnet/models', ctx=cpu(0), **kwargs): """Constructs a ResNeSt-26 model. Parameters ---------- pretrained : bool or str Boolean value controls whether to load the default pretrained weights for model. String value represents the hashtag for a certain version of pretrained weights. root : str, default '~/.mxnet/models' Location for keeping the model parameters. ctx : Context, default CPU The context in which to load the pretrained weights. dilated: bool, default False Whether to apply dilation strategy to ResNeSt, yielding a stride 8 model. norm_layer : object Normalization layer used (default: :class:`mxnet.gluon.nn.BatchNorm`). Can be :class:`mxnet.gluon.nn.BatchNorm` or :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. """ model = ResNeSt(Bottleneck, [2, 2, 2, 2], radix=2, cardinality=1, bottleneck_width=64, deep_stem=True, avg_down=True, avd=True, avd_first=False, use_splat=True, dropblock_prob=0.1, name_prefix='resnest_', **kwargs) if pretrained: from .model_store import get_model_file model.load_parameters(get_model_file('resnest26', root=root), ctx=ctx) from ..data import ImageNet1kAttr attrib = ImageNet1kAttr() model.synset = attrib.synset model.classes = attrib.classes model.classes_long = attrib.classes_long return model
Example #27
Source File: resnest.py From gluon-cv with Apache License 2.0 | 5 votes |
def resnest101(pretrained=False, root='~/.mxnet/models', ctx=cpu(0), **kwargs): """Constructs a ResNeSt-101 model. Parameters ---------- pretrained : bool or str Boolean value controls whether to load the default pretrained weights for model. String value represents the hashtag for a certain version of pretrained weights. root : str, default '~/.mxnet/models' Location for keeping the model parameters. ctx : Context, default CPU The context in which to load the pretrained weights. dilated: bool, default False Whether to apply dilation strategy to ResNeSt, yielding a stride 8 model. norm_layer : object Normalization layer used (default: :class:`mxnet.gluon.nn.BatchNorm`). Can be :class:`mxnet.gluon.nn.BatchNorm` or :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. """ model = ResNeSt(Bottleneck, [3, 4, 23, 3], radix=2, cardinality=1, bottleneck_width=64, deep_stem=True, avg_down=True, stem_width=64, avd=True, avd_first=False, use_splat=True, dropblock_prob=0.1, name_prefix='resnest_', **kwargs) if pretrained: from .model_store import get_model_file model.load_parameters(get_model_file('resnest101', root=root), ctx=ctx) from ..data import ImageNet1kAttr attrib = ImageNet1kAttr() model.synset = attrib.synset model.classes = attrib.classes model.classes_long = attrib.classes_long return model
Example #28
Source File: resnext.py From gluon-cv with Apache License 2.0 | 5 votes |
def __init__(self, layers, cardinality, bottleneck_width, classes=1000, last_gamma=False, use_se=False, deep_stem=False, avg_down=False, stem_width=64, norm_layer=BatchNorm, norm_kwargs=None, **kwargs): super(ResNext, self).__init__(**kwargs) self.cardinality = cardinality self.bottleneck_width = bottleneck_width channels = 64 with self.name_scope(): self.features = nn.HybridSequential(prefix='') if not deep_stem: self.features.add(nn.Conv2D(channels=64, kernel_size=7, strides=2, padding=3, use_bias=False)) else: self.features.add(nn.Conv2D(channels=stem_width, kernel_size=3, strides=2, padding=1, use_bias=False)) self.features.add(norm_layer(**({} if norm_kwargs is None else norm_kwargs))) self.features.add(nn.Activation('relu')) self.features.add(nn.Conv2D(channels=stem_width, kernel_size=3, strides=1, padding=1, use_bias=False)) self.features.add(norm_layer(**({} if norm_kwargs is None else norm_kwargs))) self.features.add(nn.Activation('relu')) self.features.add(nn.Conv2D(channels=stem_width * 2, kernel_size=3, strides=1, padding=1, use_bias=False)) self.features.add(norm_layer(**({} if norm_kwargs is None else norm_kwargs))) self.features.add(nn.Activation('relu')) self.features.add(nn.MaxPool2D(3, 2, 1)) for i, num_layer in enumerate(layers): stride = 1 if i == 0 else 2 self.features.add(self._make_layer(channels, num_layer, stride, last_gamma, use_se, False if i == 0 else avg_down, i + 1, norm_layer=norm_layer, norm_kwargs=norm_kwargs)) channels *= 2 self.features.add(nn.GlobalAvgPool2D()) self.output = nn.Dense(classes)
Example #29
Source File: test_gluon.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 5 votes |
def test_batchnorm(): layer = nn.BatchNorm(in_channels=10) check_layer_forward(layer, (2, 10, 10, 10))
Example #30
Source File: resnest.py From gluon-cv with Apache License 2.0 | 5 votes |
def resnest14(pretrained=False, root='~/.mxnet/models', ctx=cpu(0), **kwargs): """Constructs a ResNeSt-14 model. Parameters ---------- pretrained : bool or str Boolean value controls whether to load the default pretrained weights for model. String value represents the hashtag for a certain version of pretrained weights. root : str, default '~/.mxnet/models' Location for keeping the model parameters. ctx : Context, default CPU The context in which to load the pretrained weights. dilated: bool, default False Whether to apply dilation strategy to ResNeSt, yielding a stride 8 model. norm_layer : object Normalization layer used (default: :class:`mxnet.gluon.nn.BatchNorm`). Can be :class:`mxnet.gluon.nn.BatchNorm` or :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`. """ model = ResNeSt(Bottleneck, [1, 1, 1, 1], radix=2, cardinality=1, bottleneck_width=64, deep_stem=True, avg_down=True, avd=True, avd_first=False, use_splat=True, dropblock_prob=0.0, name_prefix='resnest_', **kwargs) if pretrained: from .model_store import get_model_file model.load_parameters(get_model_file('resnest14', root=root), ctx=ctx) from ..data import ImageNet1kAttr attrib = ImageNet1kAttr() model.synset = attrib.synset model.classes = attrib.classes model.classes_long = attrib.classes_long return model