code: def test_gradient_noise_injection(module, num_encs):
      args = make_arg(num_encs=num_encs, grad_noise=True)
      args_org = make_arg(num_encs=num_encs)
      dummy_json = make_dummy_json(
          num_encs, [2, 3], [2, 3], idim=2, odim=2, num_inputs=num_encs
      )
      import espnet.nets.pytorch_backend.e2e_asr_mulenc as m
  
      batchset = make_batchset(
          dummy_json, 2, 2**10, 2**10, shortest_first=True
      )
      model = m.E2E([2 for _ in range(num_encs)], 2, args)
      model_org = m.E2E([2 for _ in range(num_encs)], 2, args_org)
      for batch in batchset:
          loss = model(
              *convert_batch(
                  batch, module, idim=2, odim=2, num_inputs=num_encs
              )
          )
          loss_org = model_org(
              *convert_batch(
                  batch, module, idim=2, odim=2, num_inputs=num_encs
              )
          )
          loss.backward()
          grad = [param.grad for param in model.parameters()][10]
          loss_org.backward()
          grad_org = [param.grad for param in model_org.parameters()][
              10
          ]
          assert grad[0] != grad_org[0]
  
imports: from __future__ import division
  import argparse
  import importlib
  import os
  import tempfile
  from test.utils_test import make_dummy_json
  import numpy
  import pytest
  import torch
  from espnet.nets.pytorch_backend.nets_utils import pad_list
  from espnet.utils.training.batchfy import make_batchset
label_desc: Use image node_id 5 for calling a global function with example usage: test_gradient_noise_injection(module, num_encs) without return types