class_docstr: CVLearner
code: def interpolate_query_dims(self, hypercorr, spatial_size=None):
      bsz, ch, ha, wa, hb, wb = hypercorr.size()
      hypercorr = (
          hypercorr.permute(0, 2, 3, 1, 4, 5)
          .contiguous()
          .view(bsz * ha * wa, ch, hb, wb)
      )
      hypercorr = F.interpolate(
          hypercorr, spatial_size, mode="bilinear", align_corners=True
      )
      o_ha, o_wa = spatial_size
      hypercorr = (
          hypercorr.view(bsz, ha, wa, ch, o_ha, o_wa)
          .permute(0, 3, 1, 2, 4, 5)
          .contiguous()
      )
      return hypercorr
  
file_path: towhee/towhee/models/cvnet/cvnet_block.py
imports: import torch
  from torch import nn
  import torch.nn.functional
  from torch.nn.functional import interpolate
  from towhee.models.layers.conv4d import CenterPivotConv4d
  from towhee.models.cvnet.cvnet_utils import Geometry
  import math
label_desc: Use image node_id 3 for calling the CVLearner obj's underlying member method code with example usage: obj.interpolate_query_dims(hypercorr, spatial_size) and returns: hypercorr