class_docstr: Task template is used to creates a tunable AutoTVM task.
  
  It can be defined by a pair of compute and schedule function using
  `_register_task_compute` and `_register_task_schedule`,
  or by a customized task creation function that is more flexible using
  `_register_customized_task`.
  
  Note that when customized func is registered, compute and schedule function
  will be ignored
code: def __call__(self, *args, **kwargs):
      args = deserialize_args(args)
      if self.fcustomized is None:
          return self._default_func(*args, **kwargs)
      assert callable(self.fcustomized)
      return self.fcustomized(*args, **kwargs)
  
imports: import functools
  import numpy
  from tvm import runtime
  from tvm.ir import container
  from tvm.target import Target
  from tvm.te import placeholder, tensor
  from tvm.tir import expr
  from ..utils import get_const_int, get_const_tuple
  from .dispatcher import ApplyConfig, DispatchContext
  from .space import ConfigSpace
label_desc: Use image node_id 2 for calling the TaskTemplate obj's underlying member method code with example usage: obj.__call__() and returns: self, self