class_docstr: Inspired by: Multi-Scale Progressive Fusion Learning for Depth Map Super-Resolution
  https://arxiv.org/pdf/2011.11865v1.pdf
  
  variables:
      decoder_channel_output_scales: available scale factors for reducing channels
      in decoder based on encoder input channels.
  params:
      decoder_channel_scale: used to control decoder size
code: def forward(self, batch):
      rgb = batch[dataset_keys.COLOR_IMG]
      rgb = (rgb / 255.0) - 0.5
      depth = batch[dataset_keys.LOW_RES_DEPTH_IMG]
      skip_features = self.encoder(rgb)
      output = self.decoder(depth, skip_features)
      return {dataset_keys.PREDICTION_DEPTH_IMG: output}
  
file_path: ARKitScenes/depth_upsampling/models/mspf/mspf.py
imports: from torch import nn
  import dataset_keys
  from models.mspf.MultiScaleDepthSR import MultiscaleDepthDecoder
  from models.mspf.densenet import DenseNet121
label_desc: Use image node_id 2 for calling the MSPF obj's underlying member method code with example usage: obj.forward(batch) and returns: dict