class_docstr: Restricted  Boltzmann Machine
class_docstr_tok: ["Restricted","Boltzmann","Machine"]
docstr: Gibbs protocol.
  
  Basic mechanics:
  
  If the current epoch i is in the interval specified in the training protocol,
  the number of steps in Gibbs sampling (k) is incremented by one and gibbs_sampling is updated
  accordingly.
  
  Args:
      i (int): Current epoch in the loop
docstr_tok: ["Gibbs","protocol",".","Basic","mechanics",":","If","the","current","epoch","i","is","in","the","interval","specified","in","the","training","protocol",",","the","number","of","steps","in","Gibbs","sampling","(","k",")","is","incremented","by","one","and","gibbs_sampling","is","updated","accordingly",".","Args",":","i","(","int",")",":","Current","epoch","in","the","loop"]
code: def gibbs_protocol(self, i):
      """Gibbs protocol.
  
      Basic mechanics:
  
      If the current epoch i is in the interval specified in the training protocol,
      the number of steps in Gibbs sampling (k) is incremented by one and gibbs_sampling is updated
      accordingly.
  
      Args:
          i (int): Current epoch in the loop
      """
  
      with tf.compat.v1.name_scope("gibbs_protocol"):
          epoch_percentage = (
              i / self.epochs
          ) * 100  # current percentage of the total #epochs
  
          if epoch_percentage != 0:
              if (
                  epoch_percentage >= self.sampling_protocol[self.l]
                  and epoch_percentage
                  <= self.sampling_protocol[self.l + 1]
              ):
                  self.k += 1
                  self.l += 1  # noqa: E741 ambiguous variable name 'l'
                  self.gibbs_sampling()
  
          if self.debug:
              log.info(
                  "percentage of epochs covered so far %f2"
                  % (epoch_percentage)
              )
  
imports: import numpy
  import tensorflow
  import logging
  import os
  from pathlib import Path
label_desc: Use image node_id 12 for calling the RBM obj's underlying member method code with example usage: obj.gibbs_protocol(i) without return types