class_docstr: Responsible for annotating Relay expressions for Vitis-AI DPU accelerators
  
  Parameters
  ----------
  compiler : str
      The compiler name used for annotations (`vitis_ai`).
  dpu_target : str
      The Vitis AI DPU target identifier.
  params : dict
      A dictionary containing the module's parameters.
class_docstr_tok: ["Responsible","for","annotating","Relay","expressions","for","Vitis-AI","DPU","accelerators","Parameters","--","--","--","--","--","compiler",":","str","The","compiler","name","used","for","annotations","(","`","vitis_ai","`",")",".","dpu_target",":","str","The","Vitis","AI","DPU","target","identifier",".","params",":","dict","A","dictionary","containing","the","module","'s","parameters","."]
code: def __init__(self, compiler, dpu_target, params):
      global pyxir
      try:
          if pyxir is None:
              pyxir = __import__("pyxir")
              __import__("pyxir.frontend.tvm")
      except ImportError:
          # add "from None" to silence
          # "During handling of the above exception, another exception occurred"
          raise ImportError(
              "The pyxir package is required for the Vitis AI backend. "
              "Please install it first. "
              "Help: (https://tvm.apache.org/docs/deploy/vitis_ai.html) "
          ) from None
  
      self.compiler = compiler
      self.dpu_target = dpu_target
      self.params = params
  
file_path: tvm/python/tvm/relay/op/contrib/vitis_ai.py
imports: import warnings
  import numpy
  from tvm import relay
  import tvm._ffi
  from tvm.relay import transform
  from tvm.relay.expr import Tuple, TupleGetItem
  from tvm.relay.build_module import bind_params_by_name
  from tvm.relay.op.annotation import compiler_begin, compiler_end
label_desc: Use image node_id 1 to create a new VitisAIAnnotationPass object  with example: obj = VitisAIAnnotationPass(compiler, dpu_target, params)