class_docstr: SegNet Basic for semantic segmentation.
  
  This is a SegNet [#]_ model for semantic segmenation. This is based on
  SegNetBasic model that is found here_.
  
  When you specify the path of a pretrained chainer model serialized as
  a :obj:`.npz` file in the constructor, this chain model automatically
  initializes all the parameters with it.
  When a string in prespecified set is provided, a pretrained model is
  loaded from weights distributed on the Internet.
  The list of pretrained models supported are as follows:
  
  * :obj:`camvid`: Loads weights trained with the train split of         CamVid dataset.
  
  .. [#] Vijay Badrinarayanan, Alex Kendall and Roberto Cipolla "SegNet: A     Deep Convolutional Encoder-Decoder Architecture for Image Segmentation."     PAMI, 2017
  
  .. _here: http://github.com/alexgkendall/SegNet-Tutorial
  
  Args:
      n_class (int): The number of classes. If :obj:`None`, it can
          be infered if :obj:`pretrained_model` is given.
      pretrained_model (string): The destination of the pretrained
          chainer model serialized as a :obj:`.npz` file.
          If this is one of the strings described
          above, it automatically loads weights stored under a directory
          :obj:`$CHAINER_DATASET_ROOT/pfnet/chainercv/models/`,
          where :obj:`$CHAINER_DATASET_ROOT` is set as
          :obj:`$HOME/.chainer/dataset` unless you specify another value
          by modifying the environment variable.
      initialW (callable): Initializer for convolution layers.
class_docstr_tok: ["SegNet","Basic","for","semantic","segmentation",".","This","is","a","SegNet","[","#","]","_","model","for","semantic","segmenation",".","This","is","based","on","SegNetBasic","model","that","is","found","here_",".","When","you","specify","the","path","of","a","pretrained","chainer","model","serialized","as","a",":","obj",":","`",".npz","`","file","in","the","constructor",",","this","chain","model","automatically","initializes","all","the","parameters","with","it",".","When","a","string","in","prespecified","set","is","provided",",","a","pretrained","model","is","loaded","from","weights","distributed","on","the","Internet",".","The","list","of","pretrained","models","supported","are","as","follows",":","*",":","obj",":","`","camvid","`",":","Loads","weights","trained","with","the","train","split","of","CamVid","dataset",".","..","[","#","]","Vijay","Badrinarayanan",",","Alex","Kendall","and","Roberto","Cipolla","``","SegNet",":","A","Deep","Convolutional","Encoder-Decoder","Architecture","for","Image","Segmentation",".","''","PAMI",",","2017","..","_here",":","http",":","\/\/github.com\/alexgkendall\/SegNet-Tutorial","Args",":","n_class","(","int",")",":","The","number","of","classes",".","If",":","obj",":","`","None","`",",","it","can","be","infered","if",":","obj",":","`","pretrained_model","`","is","given",".","pretrained_model","(","string",")",":","The","destination","of","the","pretrained","chainer","model","serialized","as","a",":","obj",":","`",".npz","`","file",".","If","this","is","one","of","the","strings","described","above",",","it","automatically","loads","weights","stored","under","a","directory",":","obj",":","`","$","CHAINER_DATASET_ROOT\/pfnet\/chainercv\/models\/","`",",","where",":","obj",":","`","$","CHAINER_DATASET_ROOT","`","is","set","as",":","obj",":","`","$","HOME\/.chainer\/dataset","`","unless","you","specify","another","value","by","modifying","the","environment","variable",".","initialW","(","callable",")",":","Initializer","for","convolution","layers","."]
code: def __init__(
      self, n_class=None, pretrained_model=None, initialW=None
  ):
      param, path = utils.prepare_pretrained_model(
          {"n_class": n_class}, pretrained_model, self._models
      )
      self.n_class = param["n_class"]
  
      if initialW is None:
          initialW = chainer.initializers.HeNormal()
  
      super(SegNetBasic, self).__init__()
      with self.init_scope():
          self.conv1 = L.Convolution2D(
              None, 64, 7, 1, 3, nobias=True, initialW=initialW
          )
          self.conv1_bn = L.BatchNormalization(64, initial_beta=0.001)
          self.conv2 = L.Convolution2D(
              64, 64, 7, 1, 3, nobias=True, initialW=initialW
          )
          self.conv2_bn = L.BatchNormalization(64, initial_beta=0.001)
          self.conv3 = L.Convolution2D(
              64, 64, 7, 1, 3, nobias=True, initialW=initialW
          )
          self.conv3_bn = L.BatchNormalization(64, initial_beta=0.001)
          self.conv4 = L.Convolution2D(
              64, 64, 7, 1, 3, nobias=True, initialW=initialW
          )
          self.conv4_bn = L.BatchNormalization(64, initial_beta=0.001)
          self.conv_decode4 = L.Convolution2D(
              64, 64, 7, 1, 3, nobias=True, initialW=initialW
          )
          self.conv_decode4_bn = L.BatchNormalization(
              64, initial_beta=0.001
          )
          self.conv_decode3 = L.Convolution2D(
              64, 64, 7, 1, 3, nobias=True, initialW=initialW
          )
          self.conv_decode3_bn = L.BatchNormalization(
              64, initial_beta=0.001
          )
          self.conv_decode2 = L.Convolution2D(
              64, 64, 7, 1, 3, nobias=True, initialW=initialW
          )
          self.conv_decode2_bn = L.BatchNormalization(
              64, initial_beta=0.001
          )
          self.conv_decode1 = L.Convolution2D(
              64, 64, 7, 1, 3, nobias=True, initialW=initialW
          )
          self.conv_decode1_bn = L.BatchNormalization(
              64, initial_beta=0.001
          )
          self.conv_classifier = L.Convolution2D(
              64, self.n_class, 1, 1, 0, initialW=initialW
          )
  
      if path:
          chainer.serializers.load_npz(path, self)
  
file_path: chainercv/chainercv/links/model/segnet/segnet_basic.py
imports: from __future__ import division
  import numpy
  import chainer
  import chainer.functions
  import chainer.links
  from chainercv.transforms import resize
  from chainercv import utils
label_desc: Use image node_id 1 to create a new SegNetBasic object from inherited base classes: chainer with example: obj = SegNetBasic(n_class, pretrained_model, initialW)