class_docstr: Bernoulli Restricted Boltzmann Machine (RBM).
  
  A Restricted Boltzmann Machine with binary visible units and
  binary hidden units. Parameters are estimated using Stochastic Maximum
  Likelihood (SML), also known as Persistent Contrastive Divergence (PCD)
  [2].
  
  The time complexity of this implementation is ``O(d ** 2)`` assuming
  d ~ n_features ~ n_components.
  
  Read more in the :ref:`User Guide <rbm>`.
  
  Parameters
  ----------
  n_components : int, optional
      Number of binary hidden units.
  
  learning_rate : float, optional
      The learning rate for weight updates. It is *highly* recommended
      to tune this hyper-parameter. Reasonable values are in the
      10**[0., -3.] range.
  
  batch_size : int, optional
      Number of examples per minibatch.
  
  n_iter : int, optional
      Number of iterations/sweeps over the training dataset to perform
      during training.
  
  verbose : int, optional
      The verbosity level. The default, zero, means silent mode.
  
  random_state : integer or numpy.RandomState, optional
      A random number generator instance to define the state of the
      random permutations generator. If an integer is given, it fixes the
      seed. Defaults to the global numpy random number generator.
  
  Attributes
  ----------
  intercept_hidden_ : array-like, shape (n_components,)
      Biases of the hidden units.
  
  intercept_visible_ : array-like, shape (n_features,)
      Biases of the visible units.
  
  components_ : array-like, shape (n_components, n_features)
      Weight matrix, where n_features in the number of
      visible units and n_components is the number of hidden units.
  
  Examples
  --------
  
  >>> import numpy as np
  >>> from sklearn.neural_network import BernoulliRBM
  >>> X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]])
  >>> model = BernoulliRBM(n_components=2)
  >>> model.fit(X)
  BernoulliRBM(batch_size=10, learning_rate=0.1, n_components=2, n_iter=10,
         random_state=None, verbose=0)
  
  References
  ----------
  
  [1] Hinton, G. E., Osindero, S. and Teh, Y. A fast learning algorithm for
      deep belief nets. Neural Computation 18, pp 1527-1554.
      http://www.cs.toronto.edu/~hinton/absps/fastnc.pdf
  
  [2] Tieleman, T. Training Restricted Boltzmann Machines using
      Approximations to the Likelihood Gradient. International Conference
      on Machine Learning (ICML) 2008
class_docstr_tok: ["Bernoulli","Restricted","Boltzmann","Machine","(","RBM",")",".","A","Restricted","Boltzmann","Machine","with","binary","visible","units","and","binary","hidden","units",".","Parameters","are","estimated","using","Stochastic","Maximum","Likelihood","(","SML",")",",","also","known","as","Persistent","Contrastive","Divergence","(","PCD",")","[","2","]",".","The","time","complexity","of","this","implementation","is","``","O","(","d","*","*","2",")","``","assuming","d","~","n_features","~","n_components",".","Read","more","in","the",":","ref",":","`","User","Guide","<","rbm",">","`",".","Parameters","--","--","--","--","--","n_components",":","int",",","optional","Number","of","binary","hidden","units",".","learning_rate",":","float",",","optional","The","learning","rate","for","weight","updates",".","It","is","*","highly","*","recommended","to","tune","this","hyper-parameter",".","Reasonable","values","are","in","the","10","*","*","[","0.",",","-3",".","]","range",".","batch_size",":","int",",","optional","Number","of","examples","per","minibatch",".","n_iter",":","int",",","optional","Number","of","iterations\/sweeps","over","the","training","dataset","to","perform","during","training",".","verbose",":","int",",","optional","The","verbosity","level",".","The","default",",","zero",",","means","silent","mode",".","random_state",":","integer","or","numpy.RandomState",",","optional","A","random","number","generator","instance","to","define","the","state","of","the","random","permutations","generator",".","If","an","integer","is","given",",","it","fixes","the","seed",".","Defaults","to","the","global","numpy","random","number","generator",".","Attributes","--","--","--","--","--","intercept_hidden_",":","array-like",",","shape","(","n_components",",",")","Biases","of","the","hidden","units",".","intercept_visible_",":","array-like",",","shape","(","n_features",",",")","Biases","of","the","visible","units",".","components_",":","array-like",",","shape","(","n_components",",","n_features",")","Weight","matrix",",","where","n_features","in","the","number","of","visible","units","and","n_components","is","the","number","of","hidden","units",".","Examples","--","--","--","--",">",">",">","import","numpy","as","np",">",">",">","from","sklearn.neural_network","import","BernoulliRBM",">",">",">","X","=","np.array","(","[","[","0",",","0",",","0","]",",","[","0",",","1",",","1","]",",","[","1",",","0",",","1","]",",","[","1",",","1",",","1","]","]",")",">",">",">","model","=","BernoulliRBM","(","n_components=2",")",">",">",">","model.fit","(","X",")","BernoulliRBM","(","batch_size=10",",","learning_rate=0.1",",","n_components=2",",","n_iter=10",",","random_state=None",",","verbose=0",")","References","--","--","--","--","--","[","1","]","Hinton",",","G.","E.",",","Osindero",",","S.","and","Teh",",","Y",".","A","fast","learning","algorithm","for","deep","belief","nets",".","Neural","Computation","18",",","pp","1527-1554.","http",":","\/\/www.cs.toronto.edu\/~hinton\/absps\/fastnc.pdf","[","2","]","Tieleman",",","T.","Training","Restricted","Boltzmann","Machines","using","Approximations","to","the","Likelihood","Gradient",".","International","Conference","on","Machine","Learning","(","ICML",")","2008"]
docstr: Perform one Gibbs sampling step.
  
  Parameters
  ----------
  v : array-like, shape (n_samples, n_features)
      Values of the visible layer to start from.
  
  Returns
  -------
  v_new : array-like, shape (n_samples, n_features)
      Values of the visible layer after one Gibbs step.
docstr_tok: ["Perform","one","Gibbs","sampling","step",".","Parameters","--","--","--","--","--","v",":","array-like",",","shape","(","n_samples",",","n_features",")","Values","of","the","visible","layer","to","start","from",".","Returns","--","--","--","-","v_new",":","array-like",",","shape","(","n_samples",",","n_features",")","Values","of","the","visible","layer","after","one","Gibbs","step","."]
code: def gibbs(self, v):
      """Perform one Gibbs sampling step.
  
      Parameters
      ----------
      v : array-like, shape (n_samples, n_features)
          Values of the visible layer to start from.
  
      Returns
      -------
      v_new : array-like, shape (n_samples, n_features)
          Values of the visible layer after one Gibbs step.
      """
      check_is_fitted(self, "components_")
      if not hasattr(self, "random_state_"):
          self.random_state_ = check_random_state(self.random_state)
      h_ = self._sample_hiddens(v, self.random_state_)
      v_ = self._sample_visibles(h_, self.random_state_)
  
      return v_
  
imports: import time
  import numpy
  import scipy.sparse
  from ..base import BaseEstimator
  from ..base import TransformerMixin
  from ..externals.six.moves import xrange
  from ..utils import check_array
  from ..utils import check_random_state
  from ..utils import gen_even_slices
  from ..utils import issparse
  from ..utils.extmath import safe_sparse_dot
  from ..utils.extmath import log_logistic
  from ..utils.fixes import expit
  from ..utils.validation import check_is_fitted
label_desc: Use image node_id 7 for calling the BernoulliRBM obj's underlying member method code with example usage: obj.gibbs(v) and returns: v_