class_docstr: ResNet V2 model from
  `"Identity Mappings in Deep Residual Networks"
  <https://arxiv.org/abs/1603.05027>`_ paper.
  
  Parameters
  ----------
  block : HybridBlock
      Class for the residual block. Options are CIFARBasicBlockV1, BottleneckV1.
  layers : list of int
      Numbers of layers in each block
  channels : list of int
      Numbers of channels in each block. Length should be one larger than layers list.
  classes : int, default 10
      Number of classification classes.
  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`.
class_docstr_tok: ["ResNet","V2","model","from","`","``","Identity","Mappings","in","Deep","Residual","Networks","''","<","https",":","\/\/arxiv.org\/abs\/1603.05027",">","`","_","paper",".","Parameters","--","--","--","--","--","block",":","HybridBlock","Class","for","the","residual","block",".","Options","are","CIFARBasicBlockV1",",","BottleneckV1",".","layers",":","list","of","int","Numbers","of","layers","in","each","block","channels",":","list","of","int","Numbers","of","channels","in","each","block",".","Length","should","be","one","larger","than","layers","list",".","classes",":","int",",","default","10","Number","of","classification","classes",".","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 _make_layer(
      self,
      block,
      layers,
      channels,
      stride,
      stage_index,
      in_channels=0,
      norm_layer=BatchNorm,
      norm_kwargs=None,
  ):
      layer = nn.HybridSequential(prefix="stage%d_" % stage_index)
      with layer.name_scope():
          layer.add(
              block(
                  channels,
                  stride,
                  channels != in_channels,
                  in_channels=in_channels,
                  prefix="",
                  norm_layer=norm_layer,
                  norm_kwargs=norm_kwargs,
              )
          )
          for _ in range(layers - 1):
              layer.add(
                  block(
                      channels,
                      1,
                      False,
                      in_channels=channels,
                      prefix="",
                      norm_layer=norm_layer,
                      norm_kwargs=norm_kwargs,
                  )
              )
      return layer
  
imports: from __future__ import division
  import os
  from mxnet.gluon.block import HybridBlock
  from mxnet.gluon import nn
  from mxnet.gluon.nn import BatchNorm
  from mxnet import cpu
label_desc: Use image node_id 2 for calling the CIFARResNetV2 obj's underlying member method code with example usage: obj._make_layer(block, layers, channels, stride, stage_index, in_channels, norm_layer, norm_kwargs) and returns: layer