class_docstr: MicroBatchManager is a class that manages the micro batch.
  
  Args:
      stage (int): stage id of current stage.
      micro_batch_size (int): the micro batch size.
      micro_batch_buffer_size (int): the buffer size for micro batch. Normally, it should be the same as the number of pipeline stages.
class_docstr_tok: ["MicroBatchManager","is","a","class","that","manages","the","micro","batch",".","Args",":","stage","(","int",")",":","stage","id","of","current","stage",".","micro_batch_size","(","int",")",":","the","micro","batch","size",".","micro_batch_buffer_size","(","int",")",":","the","buffer","size","for","micro","batch",".","Normally",",","it","should","be","the","same","as","the","number","of","pipeline","stages","."]
code: def cur_infer_state(self):
      if self.cur_descrption is None:
          return None
      return self.cur_descrption.infer_state
  
imports: from enum import Enum
  from typing import Dict
  import torch
  from ..tensor_parallel.batch_infer_state import BatchInferState
  from ..tensor_parallel.kvcache_manager import MemoryManager
label_desc: Use image node_id 10 for calling the MicroBatchManager obj's underlying member method code with example usage: obj.cur_infer_state() and returns: self, None