code: def check_forward(self, log_pi_data, tau):
      log_pi = chainer.Variable(log_pi_data)
      y = functions.gumbel_softmax(log_pi, tau=tau)
  
      # Only checks dtype and shape because its result contains noise
      self.assertEqual(y.dtype, numpy.float32)
      self.assertEqual(y.shape, log_pi.shape)
      self.assertEqual(
          backend.get_array_module(y), backend.get_array_module(log_pi)
      )
  
file_path: chainer/tests/chainer_tests/functions_tests/noise_tests/test_gumbel_softmax.py
imports: import unittest
  import numpy
  import chainer
  from chainer import backend
  from chainer.backends import cuda
  from chainer import functions
  from chainer import testing
  from chainer.testing import attr
label_desc: Use image node_id 2 for calling the TestGumbelSoftmax obj's underlying member method code with example usage: obj.check_forward(log_pi_data, tau) without return types