class_docstr: Restricted  Boltzmann Machine
class_docstr_tok: ["Restricted","Boltzmann","Machine"]
docstr: Implement multinomial sampling from a trained model
docstr_tok: ["Implement","multinomial","sampling","from","a","trained","model"]
code: def eval_out(self):
      """Implement multinomial sampling from a trained model"""
  
      # Sampling
      _, h = self.sample_hidden_units(self.vu)  # sample h
  
      # sample v
      phi_h = (
          tf.transpose(a=tf.matmul(self.w, tf.transpose(a=h))) + self.bv
      )  # linear combination
      pvh = self.multinomial_distribution(
          phi_h
      )  # conditional probability of v given h
  
      v = self.multinomial_sampling(
          pvh
      )  # sample the value of the visible units
  
      return v, pvh
  
imports: import numpy
  import tensorflow
  import logging
  import os
  from pathlib import Path
label_desc: Use image node_id 20 for calling the RBM obj's underlying member method code with example usage: obj.eval_out() and returns: v,  pvh