class_docstr: Xception65 for backbone network of DeepLab v3+.
  
  Unlike original Xception65, this follows implementation in deeplab v3
  (https://github.com/tensorflow/models/tree/master/research/deeplab).
  This returns lowlevel feature (an output of second convolution in second
  block in entryflow) and highlevel feature (an output before final average
  pooling in original).
  
  Args:
      bn_kwargs (dict):  Keywod arguments passed to initialize the batch
          normalization layers of :class:`chainercv.links.Conv2DBNActiv` and
          :class:`chainercv.links.SeparableConv2DBNActiv`.
class_docstr_tok: ["Xception65","for","backbone","network","of","DeepLab","v3+",".","Unlike","original","Xception65",",","this","follows","implementation","in","deeplab","v3","(","https",":","\/\/github.com\/tensorflow\/models\/tree\/master\/research\/deeplab",")",".","This","returns","lowlevel","feature","(","an","output","of","second","convolution","in","second","block","in","entryflow",")","and","highlevel","feature","(","an","output","before","final","average","pooling","in","original",")",".","Args",":","bn_kwargs","(","dict",")",":","Keywod","arguments","passed","to","initialize","the","batch","normalization","layers","of",":","class",":","`","chainercv.links.Conv2DBNActiv","`","and",":","class",":","`","chainercv.links.SeparableConv2DBNActiv","`","."]
code: def __init__(self, bn_kwargs={}):
      super(Xception65, self).__init__()
  
      with self.init_scope():
          self.entryflow_conv1 = Conv2DBNActiv(
              3, 32, 3, 2, 1, bn_kwargs=bn_kwargs
          )
          self.entryflow_conv2 = Conv2DBNActiv(
              32, 64, 3, 1, 1, bn_kwargs=bn_kwargs
          )
          self.entryflow_block1 = XceptionBlock(
              64,
              [128, 128, 128],
              stride=2,
              skip_type="conv",
              bn_kwargs=bn_kwargs,
          )
          self.entryflow_block2 = XceptionBlock(
              128,
              [256, 256, 256],
              stride=2,
              skip_type="conv",
              bn_kwargs=bn_kwargs,
          )
          self.entryflow_block3 = XceptionBlock(
              256,
              [728, 728, 728],
              stride=1,
              skip_type="conv",
              bn_kwargs=bn_kwargs,
          )
  
          for i in range(1, 17):
              block = XceptionBlock(
                  728,
                  [728, 728, 728],
                  stride=1,
                  dilate=2,
                  skip_type="sum",
                  bn_kwargs=bn_kwargs,
              )
              self.__setattr__("middleflow_block{}".format(i), block)
  
          self.exitflow_block1 = XceptionBlock(
              728,
              [728, 1024, 1024],
              stride=1,
              dilate=2,
              skip_type="conv",
              bn_kwargs=bn_kwargs,
          )
          self.exitflow_block2 = XceptionBlock(
              1024,
              [1536, 1536, 2048],
              stride=1,
              dilate=4,
              skip_type="none",
              bn_kwargs=bn_kwargs,
              activ_first=False,
              dw_activ_list=[F.relu, F.relu, F.relu],
              pw_activ_list=[F.relu, F.relu, F.relu],
          )
  
file_path: chainercv/chainercv/links/model/deeplab/xception.py
imports: from __future__ import division
  import chainer
  import chainer.functions
  from chainercv.links import Conv2DBNActiv
  from chainercv.links import SeparableConv2DBNActiv
  import numpy
label_desc: Use image node_id 1 to create a new Xception65 object from inherited base classes: chainer with example: obj = Xception65(bn_kwargs)