class_docstr: Encoder Decoder segmentors.
  
  EncoderDecoder typically consists of backbone, decode_head, auxiliary_head.
  Note that auxiliary_head is only used for deep supervision during training,
  which could be dumped during inference.
class_docstr_tok: ["Encoder","Decoder","segmentors",".","EncoderDecoder","typically","consists","of","backbone",",","decode_head",",","auxiliary_head",".","Note","that","auxiliary_head","is","only","used","for","deep","supervision","during","training",",","which","could","be","dumped","during","inference","."]
docstr: Test with augmentations.
  
  Only rescale=True is supported.
docstr_tok: ["Test","with","augmentations",".","Only","rescale=True","is","supported","."]
code: def aug_test(self, imgs, img_metas, rescale=True):
      """Test with augmentations.
  
      Only rescale=True is supported.
      """
      # aug_test rescale all imgs back to ori_shape for now
      assert rescale
      # to save memory, we get augmented seg logit inplace
      seg_logit = self.inference(imgs[0], img_metas[0], rescale)
      for i in range(1, len(imgs)):
          cur_seg_logit = self.inference(imgs[i], img_metas[i], rescale)
          seg_logit += cur_seg_logit
      seg_logit /= len(imgs)
      seg_pred = seg_logit.argmax(dim=1)
      seg_pred = seg_pred.cpu().numpy()
      # unravel batch dim
      seg_pred = list(seg_pred)
      return seg_pred
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from annotator.uniformer.mmseg.core import add_prefix
  from annotator.uniformer.mmseg.ops import resize
  from ..None import builder
  from ..builder import SEGMENTORS
  from .base import BaseSegmentor
label_desc: Use image node_id 16 for calling the EncoderDecoder obj's underlying member method code with example usage: obj.aug_test(imgs, img_metas, rescale) and returns: seg_pred