class_docstr: The end-to-end variational network (or simply e2e-VarNet) based on Sriram et. al., "End-to-end variational
  networks for accelerated MRI reconstruction".
  It comprises several cascades each consisting of refinement and data consistency steps. The network takes in
  the under-sampled kspace and estimates the ground-truth reconstruction.
  
  Modified and adopted from: https://github.com/facebookresearch/fastMRI
  
  Args:
      coil_sensitivity_model: A convolutional model for learning coil sensitivity maps. An example is
          :py:class:`monai.apps.reconstruction.networks.nets.coil_sensitivity_model.CoilSensitivityModel`.
      refinement_model: A convolutional network used in the refinement step of e2e-VarNet. An example
          is :py:class:`monai.apps.reconstruction.networks.nets.complex_unet.ComplexUnet`.
      num_cascades: Number of cascades. Each cascade is a
          :py:class:`monai.apps.reconstruction.networks.blocks.varnetblock.VarNetBlock` which consists of
          refinement and data consistency steps.
      spatial_dims: number of spatial dimensions.
code: def __init__(
      self,
      coil_sensitivity_model: nn.Module,
      refinement_model: nn.Module,
      num_cascades: int = 12,
      spatial_dims: int = 2,
  ):
      super().__init__()
      self.coil_sensitivity_model = coil_sensitivity_model
      self.cascades = nn.ModuleList(
          [
              VarNetBlock(copy.deepcopy(refinement_model))
              for i in range(num_cascades)
          ]
      )
      self.spatial_dims = spatial_dims
  
file_path: MONAI/monai/apps/reconstruction/networks/nets/varnet.py
imports: from __future__ import annotations
  import copy
  import torch.nn
  from torch import Tensor
  from monai.apps.reconstruction.complex_utils import complex_abs_t
  from monai.apps.reconstruction.mri_utils import root_sum_of_squares_t
  from monai.apps.reconstruction.networks.blocks.varnetblock import VarNetBlock
  from monai.networks.blocks.fft_utils_t import ifftn_centered_t
label_desc: Use image node_id 1 to create a new VariationalNetworkModel object from inherited base classes: nn with example: obj = VariationalNetworkModel(coil_sensitivity_model, refinement_model, num_cascades, spatial_dims)