code: def on_fit_start(self) -> None:
      if self.online_encoding:
          # if encoding text online, set up text_encoder here (after loading checkpoints) instead of in __init__.
          # This is because text encoder weights are not saved, so the encoder must be loaded after other weights
          # are loaded.
          logging.info(
              f'Setting up pretrained text encoder: {self.text_encoder_path or "download or use cached t5-11b"}'
          )
          self.text_encoder = self.model.get_text_encoder(
              encoder_path=self.text_encoder_path
          ).to(torch.cuda.current_device())
          self.text_encoder.eval()
          for param in self.text_encoder.parameters():
              param.requires_grad = False
  
imports: import itertools
  from datetime import datetime
  from functools import partial
  from typing import Any
  import torch
  from omegaconf import DictConfig, open_dict
  from pytorch_lightning import Trainer
  from nemo.collections.multimodal.data.imagen.imagen_dataset import build_train_valid_datasets
  from nemo.collections.multimodal.models.text_to_image.imagen.precond import ContinousDDPMPrecond, EDMPrecond
  from nemo.collections.multimodal.modules.imagen.diffusionmodules.nets import EfficientUNetModel, UNetModel
  from nemo.collections.multimodal.modules.imagen.encoder.t5encoder import T5Encoder
  from nemo.collections.multimodal.modules.imagen.sampler.sampler import DDPMSampler, EDMSampler
  from nemo.collections.multimodal.parts.imagen.utils import random_dropout
  from nemo.collections.nlp.models.language_modeling.megatron_base_model import MegatronBaseModel
  from nemo.collections.nlp.modules.common.megatron.module import Float16Module
  from nemo.collections.nlp.parts.utils_funcs import get_last_rank
  from nemo.core.classes.common import Serialization
  from nemo.utils import logging
label_desc: Use image node_id 23 for calling the MegatronImagen obj's underlying member method code with example usage: obj.on_fit_start() without return types