class_docstr: Knowledge distillation loops for training and evaluation. This module is independent of
  the model definition. This class inherits from the Pytorch Lightning's LightningModule:
  https://lightning.ai/docs/pytorch/stable/common/lightning_module.html
code: def _compute_softmax_regression_loss(
      self,
      student_output: dict,
      teacher_output: dict,
  ):
      student_feature = student_output[self.student_model.prefix][
          FEATURES
      ].squeeze(dim=1)
      student_feature = self.output_feature_adaptor(student_feature)
  
      student_logits = self.teacher_model.head(student_feature)
      soft_labels = teacher_output[self.teacher_model.prefix][
          LOGITS
      ].squeeze(dim=1)
  
      student_logits = student_logits
      soft_labels = soft_labels
  
      if isinstance(
          self.softmax_regression_loss_func, nn.CrossEntropyLoss
      ):
          soft_labels = F.softmax(soft_labels, dim=-1)
  
      loss = self.softmax_regression_loss_func(
          input=student_logits,
          target=soft_labels,
      )
      return loss
  
imports: import logging
  from typing import Callable, List, Optional, Union
  import lightning.pytorch
  import torch
  import torch.nn.functional
  import torchmetrics
  from lightning.pytorch.utilities import grad_norm
  from omegaconf import DictConfig
  from torch import nn
  from torch.nn.modules.loss import _Loss
  from torchmetrics.aggregation import BaseAggregator
  from ..constants import FEATURES, LOGITS, WEIGHT
  from ..models.utils import run_model
  from .utils import apply_layerwise_lr_decay, apply_single_lr, apply_two_stages_lr, get_lr_scheduler, get_optimizer
label_desc: Use image node_id 6 for calling the DistillerLitModule obj's underlying member method code with example usage: obj._compute_softmax_regression_loss(student_output, teacher_output) and returns: loss