code: def test_csr_norms(norm, ref_norm, dtype, seed, shape):
      X = np.random.RandomState(seed).randn(*shape).astype(dtype)
      X_csr = sp.csr_matrix(X)
      X_csr_gpu = cupyx.scipy.sparse.csr_matrix(X_csr)
  
      norm(X_csr_gpu)
      ref_norm(X_csr)
  
      # checks that array have been changed inplace
      assert cp.any(cp.not_equal(X_csr_gpu.todense(), cp.array(X)))
  
      cp.testing.assert_array_almost_equal(
          X_csr_gpu.todense(), X_csr.todense()
      )
  
imports: from cuml.internals.safe_imports import gpu_only_import
  from cuml.common.sparsefuncs import csr_row_normalize_l1
  from cuml.common.sparsefuncs import csr_row_normalize_l2
  from sklearn.utils.sparsefuncs_fast import inplace_csr_row_normalize_l1
  from sklearn.utils.sparsefuncs_fast import inplace_csr_row_normalize_l2
  import pytest
  from cuml.internals.safe_imports import cpu_only_import
label_desc: Use image node_id 1 for calling a global function with example usage: test_csr_norms(norm, ref_norm, dtype, seed, shape) without return types