code: def gibbs_sampling_step(self, visible, n_features):
          
          hprobs, hstates = self.sample_hidden_from_visible(visible)
          vprobs = self.sample_visible_from_hidden(hprobs, n_features)
          hprobs1, hstates1 = self.sample_hidden_from_visible(vprobs)
  
          return hprobs, hstates, vprobs, hprobs1, hstates1
docs: Perform one step of gibbs sampling.
  
          :param visible: activations of the visible units
          :param n_features: number of features
          :return: tuple(hidden probs, hidden states, visible probs,
                         new hidden probs, new hidden states)