class_docstr: BasicBlock V2 from
  `"Identity Mappings in Deep Residual Networks"
  <https://arxiv.org/abs/1603.05027>`_ paper.
  This is used for ResNet V2 for 18, 34 layers.
  
  Parameters
  ----------
  channels : int
      Number of output channels.
  stride : int
      Stride size.
  downsample : bool, default False
      Whether to downsample the input.
  in_channels : int, default 0
      Number of input channels. Default is 0, to infer from the graph.
  last_gamma : bool, default False
      Whether to initialize the gamma of the last BatchNorm layer in each bottleneck to zero.
  use_se : bool, default False
      Whether to use Squeeze-and-Excitation module
  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`.
code: def hybrid_forward(self, F, x):
      residual = x
      x = self.bn1(x)
      x = F.Activation(x, act_type="relu")
      if self.downsample:
          residual = self.downsample(x)
      x = self.conv1(x)
  
      x = self.bn2(x)
      x = F.Activation(x, act_type="relu")
      x = self.conv2(x)
  
      if self.se:
          w = F.contrib.AdaptiveAvgPooling2D(x, output_size=1)
          w = self.se(w)
          x = F.broadcast_mul(
              x, w.expand_dims(axis=2).expand_dims(axis=2)
          )
  
      return x + residual
  
imports: from __future__ import division
  from mxnet.context import cpu
  from mxnet.gluon.block import HybridBlock
  from mxnet.gluon import nn
  from mxnet.gluon.nn import BatchNorm
label_desc: Use image node_id 2 for calling the BasicBlockV2 obj's underlying member method code with example usage: obj.hybrid_forward(F, x) and returns: unknown