class_docstr: Multinomial Variational Autoencoders (Multi-VAE) for Collaborative Filtering implementation
  
  :Citation:
  
      Liang, Dawen, et al. "Variational autoencoders for collaborative filtering."
      Proceedings of the 2018 World Wide Web Conference. 2018.
      https://arxiv.org/pdf/1802.05814.pdf
docstr: Sample epsilon ∼ N (0,I) and compute z via reparametrization trick.
code: def _take_sample(self, args):
      """Sample epsilon ∼ N (0,I) and compute z via reparametrization trick."""
  
      """Calculate latent vector using the reparametrization trick.
             The idea is that sampling from N (_mean, _var) is s the same as sampling from _mean+ epsilon * _var
             where epsilon ∼ N(0,I)."""
      # _mean and _log_var calculated in encoder
      _mean, _log_var = args
  
      # epsilon
      epsilon = K.random_normal(
          shape=(K.shape(_mean)[0], self.latent_dim),
          mean=0.0,
          stddev=1.0,
          seed=self.seed,
      )
  
      return _mean + K.exp(_log_var / 2) * epsilon
  
imports: import numpy
  import matplotlib.pyplot
  import seaborn
  from recommenders.evaluation.python_evaluation import ndcg_at_k
  import tensorflow
  from tensorflow.keras.layers import *
  from tensorflow.keras.models import Model
  from tensorflow.keras import backend
  from tensorflow.keras.callbacks import ReduceLROnPlateau, Callback
label_desc: Use image node_id 4 for calling the Mult_VAE obj's underlying member method code with example usage: obj._take_sample(args) and returns: unknown