code: def forward(self, x, time, text_embed, text_mask, **model_kwargs):
      # Convert time to FP32 for calculating time embedding due to FP16 overflow
      time = time.float()
      time = self.scheduler.get_condition(time)
      time = time.type_as(x)
  
      return self.unet(
          x=x,
          time=time,
          text_embed=text_embed,
          text_mask=text_mask,
          **model_kwargs,
      )
  
imports: import torch
  import torch.nn.functional
  from nemo.collections.multimodal.modules.imagen.sampler.batch_ops import batch_mul
  from nemo.collections.multimodal.modules.imagen.sampler.continuous_ddpm import GaussianDiffusionContinuousTimes
  from nemo.collections.multimodal.parts.utils import randn_like
label_desc: Use image node_id 4 for calling the ContinousDDPMPrecond obj's underlying member method code with example usage: obj.forward(x, time, text_embed, text_mask) and returns: self