code: def on_after_optimizers_step(self, trainer, optimizers):
      for param in self.parameters:
          if self.clip_type == "value":
              assert param.grad.max().item() <= self.clip_value
          else:
              assert (
                  np.linalg.norm(param.grad.cpu().view(-1).numpy())
                  <= self.clip_value
              )
  
file_path: fastNLP/tests/core/callbacks/torch_callbacks/test_torch_grad_clip_callback.py
imports: import pytest
  import numpy
  from fastNLP.core.callbacks import TorchGradClipCallback, Callback
  from fastNLP import Trainer
  from fastNLP.envs.imports import _NEED_IMPORT_TORCH
  from tests.helpers.callbacks.prepare_trainer_args_for_torch_test import get_trainer_args
label_desc: Use image node_id 2 for calling the CheckClipCallback obj's underlying member method code with example usage: obj.on_after_optimizers_step(trainer, optimizers) without return types