class_docstr: Encapsulates all the validation logic required by Opacus.
  Also works as a namespace to hold registered validators and fixers.
docstr: Check if module and sub_modules are valid by running registered custom validators.
  
  Args:
      module: The root module to validate.
  
  Returns:
      bool
docstr_tok: ["Check","if","module","and","sub_modules","are","valid","by","running","registered","custom","validators",".","Args",":","module",":","The","root","module","to","validate",".","Returns",":","bool"]
code: def is_valid(cls, module: nn.Module) -> bool:
      """
      Check if module and sub_modules are valid by running registered custom validators.
  
      Args:
          module: The root module to validate.
  
      Returns:
          bool
      """
      return len(cls.validate(module, strict=False)) == 0
  
file_path: opacus/opacus/validators/module_validator.py
imports: import logging
  from typing import List
  import torch.nn
  from opacus.utils.module_utils import clone_module, get_submodule, trainable_modules
  from opacus.validators.errors import IllegalModuleConfigurationError, UnsupportedModuleError
label_desc: Use image node_id 2 for calling the ModuleValidator obj's underlying member method code with example usage: obj.is_valid(cls, module) and returns: unknown