code: def build_model(self, n_features, encoding_w=None, encoding_b=None):
          
          self._create_placeholders(n_features, n_features)
  
          if encoding_w and encoding_b:
              self.encoding_w_ = encoding_w
              self.encoding_b_ = encoding_b
          else:
              self._create_variables(n_features)
  
          self._create_encoding_layers()
          self._create_decoding_layers()
  
          variables = []
          variables.extend(self.encoding_w_)
          variables.extend(self.encoding_b_)
          regterm = Layers.regularization(variables, self.regtype, self.regcoef)
  
          self.cost = self.loss.compile(
              self.reconstruction, self.input_labels, regterm=regterm)
          self.train_step = self.trainer.compile(self.cost)
docs: Create the computational graph for the reconstruction task.
  
          :param n_features: Number of features
          :param encoding_w: list of weights for the encoding layers.
          :param encoding_b: list of biases for the encoding layers.
          :return: self