def _run_train_step(self, train_set):
        """Run a training step.

        A training step is made by randomly shuffling the training set,
        divide into batches and run the variable update nodes for each batch.
        :param train_set: training set
        :return: self
        """
        np.random.shuffle(train_set)

        batches = [_ for _ in utilities.gen_batches(train_set,
                                                    self.batch_size)]
        updates = [self.w_upd8, self.bh_upd8, self.bv_upd8]

        for batch in batches:
            self.tf_session.run(updates,
                                feed_dict=self._create_feed_dict(batch))
Run a training step.

        A training step is made by randomly shuffling the training set,
        divide into batches and run the variable update nodes for each batch.
        :param train_set: training set
        :return: self
        
yadlt/models/boltzmann/rbm.py