code: def generator(self, z):
          
          nf = 64
          l = FullyConnected('fc0', z, nf * 8 * 4 * 4, activation=tf.identity)
          l = tf.reshape(l, [-1, 4, 4, nf * 8])
          l = BNReLU(l)
          with argscope(Conv2DTranspose, activation=BNReLU, kernel_size=4, strides=2):
              l = Conv2DTranspose('deconv1', l, nf * 4)
              l = Conv2DTranspose('deconv2', l, nf * 2)
              l = Conv2DTranspose('deconv3', l, nf)
              l = Conv2DTranspose('deconv4', l, 3, activation=tf.identity)
              l = tf.tanh(l, name='gen')
          return l
docs: return an image generated from z