code: def pretrain(self, train_set, validation_set=None):
          
          self.do_pretrain = True
  
          def set_params_func(rbmmachine, rbmgraph):
              params = rbmmachine.get_parameters(graph=rbmgraph)
              self.encoding_w_.append(params['W'])
              self.encoding_b_.append(params['bh_'])
  
          return SupervisedModel.pretrain_procedure(
              self, self.rbms, self.rbm_graphs, set_params_func=set_params_func,
              train_set=train_set, validation_set=validation_set)
docs: Perform Unsupervised pretraining of the DBN.