class_docstr: A state in the search process. It consists of the current loop structure
  and a list of transformation steps used to construct it.
  Each State corresponds to a specific schedule for its ComputeDAG.
  Parameters
  ----------
  state_object : StateObject
      The StateObject corresponding to C++ internal State object.
  dag : ComputeDAG
      The original ComputeDAG of this State.
  Notes
  -----
  This is a wrapper class of StateObject to deal with copy-on-write property
class_docstr_tok: ["A","state","in","the","search","process",".","It","consists","of","the","current","loop","structure","and","a","list","of","transformation","steps","used","to","construct","it",".","Each","State","corresponds","to","a","specific","schedule","for","its","ComputeDAG",".","Parameters","--","--","--","--","--","state_object",":","StateObject","The","StateObject","corresponding","to","C++","internal","State","object",".","dag",":","ComputeDAG","The","original","ComputeDAG","of","this","State",".","Notes","--","--","-","This","is","a","wrapper","class","of","StateObject","to","deal","with","copy-on-write","property"]
docstr: Schedule primitive corresponding to `te.Stage.compute_at`.
  See also the `te.Stage` for more details.
  Parameters
  ----------
  stage : Union[int, Operation, Tensor]
      The source Stage of computed at, which can be specified by the integer index,
      Operation, or output tensor of the stage.
  target_stage : Union[int, Operation, Tensor]
      The target stage of compute_at, which can be specified by the integer index, Operation,
      or output tensor of the stage.
  target_iter : Iterator
      The target Iterator of compute_at.
  Notes
  -----
  After compute_at, we need careful dependency analysis to compute the accurate bound
  information. However, it is relatively expensive and complicated, so we just fill "None"
  as bound for the newly created iterators.
  Call ComputeDAG::InferBound on the returned state to get the complete bound information.
docstr_tok: ["Schedule","primitive","corresponding","to","`","te.Stage.compute_at","`",".","See","also","the","`","te.Stage","`","for","more","details",".","Parameters","--","--","--","--","--","stage",":","Union","[","int",",","Operation",",","Tensor","]","The","source","Stage","of","computed","at",",","which","can","be","specified","by","the","integer","index",",","Operation",",","or","output","tensor","of","the","stage",".","target_stage",":","Union","[","int",",","Operation",",","Tensor","]","The","target","stage","of","compute_at",",","which","can","be","specified","by","the","integer","index",",","Operation",",","or","output","tensor","of","the","stage",".","target_iter",":","Iterator","The","target","Iterator","of","compute_at",".","Notes","--","--","-","After","compute_at",",","we","need","careful","dependency","analysis","to","compute","the","accurate","bound","information",".","However",",","it","is","relatively","expensive","and","complicated",",","so","we","just","fill","``","None","''","as","bound","for","the","newly","created","iterators",".","Call","ComputeDAG",":",":InferBound","on","the","returned","state","to","get","the","complete","bound","information","."]
code: def compute_at(self, stage, target_stage, target_iter):
      """Schedule primitive corresponding to `te.Stage.compute_at`.
      See also the `te.Stage` for more details.
      Parameters
      ----------
      stage : Union[int, Operation, Tensor]
          The source Stage of computed at, which can be specified by the integer index,
          Operation, or output tensor of the stage.
      target_stage : Union[int, Operation, Tensor]
          The target stage of compute_at, which can be specified by the integer index, Operation,
          or output tensor of the stage.
      target_iter : Iterator
          The target Iterator of compute_at.
      Notes
      -----
      After compute_at, we need careful dependency analysis to compute the accurate bound
      information. However, it is relatively expensive and complicated, so we just fill "None"
      as bound for the newly created iterators.
      Call ComputeDAG::InferBound on the returned state to get the complete bound information.
      """
      self.state_object = _ffi_api.StateComputeAt(
          self.state_object,
          self._resolve_stage_id(stage),
          self._resolve_stage_id(target_stage),
          target_iter,
      )
  
imports: import tvm._ffi
  from tvm.te.tensor import Operation, Tensor
  from tvm.runtime import Object
  from .None import _ffi_api
label_desc: Use image node_id 16 for calling the State obj's underlying member method code with example usage: obj.compute_at(stage, target_stage, target_iter) without return types