code: def generative_net(self, Z, reuse=None):
      # with tf.variable_scope("generative",reuse=reuse):
      if self.w_determinist:
          h2 = tf.nn.relu(tf.matmul(Z, self.generator_params[0]))
          for l in range(1, self.L):
              # h2 = tf.nn.relu(tf.sparse_matmul(h2, self.generator_params[l], a_is_sparse=True))
              h2 = tf.nn.relu(tf.matmul(h2, self.generator_params[l]))
          # d_x = tf.nn.sigmoid(tf.matmul(h2, self.generator_params[self.L], a_is_sparse=True))
          d_x = tf.nn.sigmoid(
              tf.matmul(h2, self.generator_params[self.L])
          )
      else:
          e = tf.random_normal(
              tf.shape(self.generator_params[0]),
              dtype=tf.float32,
              mean=0.0,
              stddev=1.0,
              name="epsilon",
          )
          h2 = tf.nn.relu(
              tf.matmul(Z, self.generator_params[0] + 0.01 * e)
          )
          for l in range(1, self.L):
              e = tf.random_normal(
                  tf.shape(self.generator_params[l]),
                  dtype=tf.float32,
                  mean=0.0,
                  stddev=1.0,
                  name="epsilon",
              )
              # h2 = tf.nn.relu(tf.sparse_matmul(h2, self.generator_params[l] + 0.01 * e, a_is_sparse=True))
              h2 = tf.nn.relu(
                  tf.matmul(h2, self.generator_params[l] + 0.01 * e)
              )
          e = tf.random_normal(
              tf.shape(self.generator_params[self.L]),
              dtype=tf.float32,
              mean=0.0,
              stddev=1.0,
              name="epsilon",
          )
          # d_x = tf.nn.sigmoid(tf.matmul(h2, self.generator_params[self.L] + 0.01 * e, a_is_sparse=True))
          d_x = tf.nn.sigmoid(
              tf.matmul(h2, self.generator_params[self.L] + 0.01 * e)
          )
      return d_x
  
file_path: cornac/cornac/models/pcrl/pcrl.py
imports: import numpy
  import scipy.sparse
  import scipy
  import tensorflow
label_desc: Use image node_id 13 for calling the PCRL_ obj's underlying member method code with example usage: obj.generative_net(Z, reuse) and returns: d_x