class_docstr: Xception optimized for the ImageNet dataset, as specified in
  https://arxiv.org/pdf/1610.02357.pdf
class_docstr_tok: ["Xception","optimized","for","the","ImageNet","dataset",",","as","specified","in","https",":","\/\/arxiv.org\/pdf\/1610.02357.pdf"]
code: def features(self, input):
      x = self.conv1(input)
      x = self.bn1(x)
      x = self.relu1(x)
  
      x = self.conv2(x)
      x = self.bn2(x)
      x = self.relu2(x)
  
      x = self.block1(x)
      x = self.block2(x)
      x = self.block3(x)
      x = self.block4(x)
      x = self.block5(x)
      x = self.block6(x)
      x = self.block7(x)
      x = self.block8(x)
      x = self.block9(x)
      x = self.block10(x)
      x = self.block11(x)
      x = self.block12(x)
  
      x = self.conv3(x)
      x = self.bn3(x)
      x = self.relu3(x)
  
      x = self.conv4(x)
      x = self.bn4(x)
      return x
  
file_path: singa/examples/model_selection/TRAILS-Database-Native-Model-Selection/internal/ml/model_selection/src/eva_engine/phase1/algo/singa_ms/cnn_ms/autograd/xceptionnet.py
imports: from singa import autograd
  from singa import tensor
  from singa import device
  from singa import layer
  from singa import opt
  import numpy
  from tqdm import trange
label_desc: Use image node_id 2 for calling the Xception obj's underlying member method code with example usage: obj.features(input) and returns: x