code: def test_log_softmax_2d(self, xp, scp, dtype):
      if xp.dtype(dtype).kind == "u":
          # Unsigned integers make underflows in numpy (eventually seen as
          # overflows in `np.exp(tmp)`)
          pytest.skip()
      a = testing.shaped_random((5, 3), xp, dtype=dtype)
      return scp.special.log_softmax(a)
  
file_path: cupy/tests/cupyx_tests/scipy_tests/special_tests/test_log_softmax.py
imports: import pytest
  import cupy
  from cupy import testing
  import cupyx.scipy.special
label_desc: Use image node_id 3 for calling the TestLogSoftmax obj's underlying member method code with example usage: obj.test_log_softmax_2d(xp, scp, dtype) and returns: scp