code: def module_policy(self):
      from transformers import WhisperForConditionalGeneration
  
      policy = super().module_policy()
      policy = self.add_lm_head_policy(policy)
  
      if self.pipeline_stage_manager is not None:
          self.set_pipeline_forward(
              model_cls=WhisperForConditionalGeneration,
              new_forward=WhisperPipelineForwards.whisper_for_conditional_generation_forward,
              policy=policy,
          )
      return policy
  
imports: import warnings
  from functools import partial
  from typing import Callable, Dict, List, Tuple
  import numpy
  import torch.nn
  from torch import Tensor
  import colossalai.shardformer.layer
  from ..modeling.jit import get_jit_fused_dropout_add_func
  from ..modeling.whisper import WhisperPipelineForwards, get_jit_fused_whisper_decoder_layer_forward, get_jit_fused_whisper_encoder_layer_forward, get_whisper_flash_attention_forward
  from .base_policy import ModulePolicyDescription, Policy, SubModuleReplacementDescription
label_desc: Use image node_id 1 for calling the WhisperForConditionalGenerationPolicy obj's underlying member method code with example usage: obj.module_policy() and returns: policy