class_docstr: DSR: A Dual Subspace Re-Projection Network for Surface Anomaly Detection
  
  Args:
      latent_anomaly_strength (float, optional): Strength of the generated anomalies in the latent space.
docstr: Load pretrained weights of the discrete model when starting training.
docstr_tok: ["Load","pretrained","weights","of","the","discrete","model","when","starting","training","."]
code: def on_train_start(self) -> None:
      """Load pretrained weights of the discrete model when starting training."""
      ckpt: Path = self.prepare_pretrained_model()
      self.model.load_pretrained_discrete_model_weights(ckpt)
  
imports: from __future__ import annotations
  import logging
  from pathlib import Path
  import torch
  from omegaconf import DictConfig, ListConfig
  from pytorch_lightning.utilities.types import STEP_OUTPUT
  from torch import Tensor
  from anomalib.data.utils import DownloadInfo, download_and_extract
  from anomalib.data.utils.augmenter import Augmenter
  from anomalib.models.components import AnomalyModule
  from anomalib.models.dsr.anomaly_generator import DsrAnomalyGenerator
  from anomalib.models.dsr.loss import DsrSecondStageLoss, DsrThirdStageLoss
  from anomalib.models.dsr.torch_model import DsrModel
label_desc: Use image node_id 4 for calling the Dsr obj's underlying member method code with example usage: obj.on_train_start() without return types