class_docstr: Bottleneck for ResNet 
class_docstr_tok: ["Bottleneck","for","ResNet"]
code: def __init__(
      self,
      inplanes,
      planes,
      stride=1,
      downsample=None,
      reduction=False,
      norm_layer=nn.BatchNorm,
      **kwargs,
  ):
      super(Bottleneck, self).__init__()
  
      with self.name_scope():
          self.conv1 = nn.Conv2D(
              planes,
              in_channels=inplanes,
              kernel_size=1,
              use_bias=False,
              weight_initializer=initializer.Uniform(
                  scale=math.sqrt(1 / (inplanes * 1 * 1))
              ),
              bias_initializer=initializer.Uniform(
                  scale=math.sqrt(1 / (inplanes * 1 * 1))
              ),
          )
          self.bn1 = norm_layer(
              gamma_initializer=ZeroUniform(), **kwargs
          )
          self.conv2 = nn.Conv2D(
              planes,
              in_channels=planes,
              kernel_size=3,
              strides=stride,
              padding=1,
              use_bias=False,
              weight_initializer=initializer.Uniform(
                  scale=math.sqrt(1 / (planes * 3 * 3))
              ),
              bias_initializer=initializer.Uniform(
                  scale=math.sqrt(1 / (planes * 3 * 3))
              ),
          )
          self.bn2 = norm_layer(
              gamma_initializer=ZeroUniform(), **kwargs
          )
          self.conv3 = nn.Conv2D(
              planes * 4,
              in_channels=planes,
              kernel_size=1,
              use_bias=False,
              weight_initializer=initializer.Uniform(
                  scale=math.sqrt(1 / (planes * 1 * 1))
              ),
              bias_initializer=initializer.Uniform(
                  scale=math.sqrt(1 / (planes * 1 * 1))
              ),
          )
          self.bn3 = norm_layer(
              gamma_initializer=ZeroUniform(), **kwargs
          )
  
      if reduction:
          self.se = SELayer(planes * 4)
  
      self.reduc = reduction
      self.downsample = downsample
      self.stride = stride
  
imports: import math
  import os
  import mxnet
  from mxnet import initializer
  from mxnet.gluon import nn
  from mxnet.gluon.block import HybridBlock
  from .utils import ZeroUniform, _try_load_parameters
label_desc: Use image node_id 1 to create a new Bottleneck object from inherited base classes: HybridBlock with example: obj = Bottleneck(inplanes, planes, stride, downsample, reduction, norm_layer)