code: def load_model(self, shape, gibbs_sampling_steps, model_path):
          
          n_features, self.num_hidden = shape[0], shape[1]
          self.gibbs_sampling_steps = gibbs_sampling_steps
  
          self.build_model(n_features)
  
          init_op = tf.global_variables_initializer()
          self.tf_saver = tf.train.Saver()
  
          with tf.Session() as self.tf_session:
  
              self.tf_session.run(init_op)
              self.tf_saver.restore(self.tf_session, model_path)
docs: Load a trained model from disk.
  
          The shape of the model (num_visible, num_hidden) and the number
          of gibbs sampling steps must be known in order to restore the model.
          :param shape: tuple(num_visible, num_hidden)
          :param gibbs_sampling_steps:
          :param model_path:
          :return: self