docstr: Sends the input tensor to the next stage in pipeline.
     For interleaved 1F1B.
  
  Args:
      model_chunk_id (int): The current model chunk idx.
      output_object (Any): Object to be sent.
      next_rank (int, optional): The rank of the recipient of the tensor.
docstr_tok: ["Sends","the","input","tensor","to","the","next","stage","in","pipeline",".","For","interleaved","1F1B",".","Args",":","model_chunk_id","(","int",")",":","The","current","model","chunk","idx",".","output_object","(","Any",")",":","Object","to","be","sent",".","next_rank","(","int",",","optional",")",":","The","rank","of","the","recipient","of","the","tensor","."]
code: def send_forward(
      self,
      model_chunk_id: int,
      output_tensor: Any,
      next_rank: int = None,
  ) -> None:
      """Sends the input tensor to the next stage in pipeline.
         For interleaved 1F1B.
  
      Args:
          model_chunk_id (int): The current model chunk idx.
          output_object (Any): Object to be sent.
          next_rank (int, optional): The rank of the recipient of the tensor.
      """
      with self.stage_manager.switch_model_chunk_id(model_chunk_id):
          if not self.stage_manager.is_last_stage():
              self.comm.send_forward(
                  output_tensor,
                  next_rank,
                  send_metadata=self.send_tensor_metadata,
              )
              self.send_tensor_metadata = not self.enable_metadata_cache
  
imports: from functools import partial
  from typing import Any, Callable, Dict, Iterable, List, Optional, Union
  import torch
  import torch.cuda
  from torch.nn import Module, ModuleList
  from torch.utils._pytree import tree_map
  from colossalai.interface import OptimizerWrapper
  from colossalai.pipeline.p2p import PipelineP2PCommunication, create_send_metadata
  from colossalai.pipeline.stage_manager import PipelineStageManager
  from colossalai.utils.device import get_current_device
  from ._utils import detach, get_batch_size, get_micro_batch, merge_batch, model_forward, retain_grad, to_device
  from .base import PipelineSchedule
label_desc: Use image node_id 7 for calling the InterleavedSchedule obj's underlying member method code with example usage: obj.send_forward(model_chunk_id, output_tensor, next_rank) without return types