class_docstr: Constructs a MobileViT image processor.
  
  Args:
      do_resize (`bool`, *optional*, defaults to `True`):
          Whether to resize the image's (height, width) dimensions to the specified `size`. Can be overridden by the
          `do_resize` parameter in the `preprocess` method.
      size (`Dict[str, int]` *optional*, defaults to `{"shortest_edge": 224}`):
          Controls the size of the output image after resizing. Can be overridden by the `size` parameter in the
          `preprocess` method.
      resample (`PILImageResampling`, *optional*, defaults to `Resampling.BILINEAR`):
          Defines the resampling filter to use if resizing the image. Can be overridden by the `resample` parameter
          in the `preprocess` method.
      do_rescale (`bool`, *optional*, defaults to `True`):
          Whether to rescale the image by the specified scale `rescale_factor`. Can be overridden by the `do_rescale`
          parameter in the `preprocess` method.
      rescale_factor (`int` or `float`, *optional*, defaults to `1/255`):
          Scale factor to use if rescaling the image. Can be overridden by the `rescale_factor` parameter in the
          `preprocess` method.
      do_center_crop (`bool`, *optional*, defaults to `True`):
          Whether to crop the input at the center. If the input size is smaller than `crop_size` along any edge, the
          image is padded with 0's and then center cropped. Can be overridden by the `do_center_crop` parameter in
          the `preprocess` method.
      crop_size (`Dict[str, int]`, *optional*, defaults to `{"height": 256, "width": 256}`):
          Desired output size `(size["height"], size["width"])` when applying center-cropping. Can be overridden by
          the `crop_size` parameter in the `preprocess` method.
      do_flip_channel_order (`bool`, *optional*, defaults to `True`):
          Whether to flip the color channels from RGB to BGR. Can be overridden by the `do_flip_channel_order`
          parameter in the `preprocess` method.
class_docstr_tok: ["Constructs","a","MobileViT","image","processor",".","Args",":","do_resize","(","`","bool","`",",","*","optional","*",",","defaults","to","`","True","`",")",":","Whether","to","resize","the","image","'s","(","height",",","width",")","dimensions","to","the","specified","`","size","`",".","Can","be","overridden","by","the","`","do_resize","`","parameter","in","the","`","preprocess","`","method",".","size","(","`","Dict","[","str",",","int","]","`","*","optional","*",",","defaults","to","`","{","``","shortest_edge","''",":","224","}","`",")",":","Controls","the","size","of","the","output","image","after","resizing",".","Can","be","overridden","by","the","`","size","`","parameter","in","the","`","preprocess","`","method",".","resample","(","`","PILImageResampling","`",",","*","optional","*",",","defaults","to","`","Resampling.BILINEAR","`",")",":","Defines","the","resampling","filter","to","use","if","resizing","the","image",".","Can","be","overridden","by","the","`","resample","`","parameter","in","the","`","preprocess","`","method",".","do_rescale","(","`","bool","`",",","*","optional","*",",","defaults","to","`","True","`",")",":","Whether","to","rescale","the","image","by","the","specified","scale","`","rescale_factor","`",".","Can","be","overridden","by","the","`","do_rescale","`","parameter","in","the","`","preprocess","`","method",".","rescale_factor","(","`","int","`","or","`","float","`",",","*","optional","*",",","defaults","to","`","1\/255","`",")",":","Scale","factor","to","use","if","rescaling","the","image",".","Can","be","overridden","by","the","`","rescale_factor","`","parameter","in","the","`","preprocess","`","method",".","do_center_crop","(","`","bool","`",",","*","optional","*",",","defaults","to","`","True","`",")",":","Whether","to","crop","the","input","at","the","center",".","If","the","input","size","is","smaller","than","`","crop_size","`","along","any","edge",",","the","image","is","padded","with","0","'s","and","then","center","cropped",".","Can","be","overridden","by","the","`","do_center_crop","`","parameter","in","the","`","preprocess","`","method",".","crop_size","(","`","Dict","[","str",",","int","]","`",",","*","optional","*",",","defaults","to","`","{","``","height","''",":","256",",","``","width","''",":","256","}","`",")",":","Desired","output","size","`","(","size","[","``","height","''","]",",","size","[","``","width","''","]",")","`","when","applying","center-cropping",".","Can","be","overridden","by","the","`","crop_size","`","parameter","in","the","`","preprocess","`","method",".","do_flip_channel_order","(","`","bool","`",",","*","optional","*",",","defaults","to","`","True","`",")",":","Whether","to","flip","the","color","channels","from","RGB","to","BGR",".","Can","be","overridden","by","the","`","do_flip_channel_order","`","parameter","in","the","`","preprocess","`","method","."]
docstr: Converts the output of [`MobileViTForSemanticSegmentation`] into semantic segmentation maps. Only supports PyTorch.
  
  Args:
      outputs ([`MobileViTForSemanticSegmentation`]):
          Raw outputs of the model.
      target_sizes (`List[Tuple]` of length `batch_size`, *optional*):
          List of tuples corresponding to the requested final size (height, width) of each prediction. If unset,
          predictions will not be resized.
  
  Returns:
      semantic_segmentation: `List[torch.Tensor]` of length `batch_size`, where each item is a semantic
      segmentation map of shape (height, width) corresponding to the target_sizes entry (if `target_sizes` is
      specified). Each entry of each `torch.Tensor` correspond to a semantic class id.
docstr_tok: ["Converts","the","output","of","[","`","MobileViTForSemanticSegmentation","`","]","into","semantic","segmentation","maps",".","Only","supports","PyTorch",".","Args",":","outputs","(","[","`","MobileViTForSemanticSegmentation","`","]",")",":","Raw","outputs","of","the","model",".","target_sizes","(","`","List","[","Tuple","]","`","of","length","`","batch_size","`",",","*","optional","*",")",":","List","of","tuples","corresponding","to","the","requested","final","size","(","height",",","width",")","of","each","prediction",".","If","unset",",","predictions","will","not","be","resized",".","Returns",":","semantic_segmentation",":","`","List","[","torch.Tensor","]","`","of","length","`","batch_size","`",",","where","each","item","is","a","semantic","segmentation","map","of","shape","(","height",",","width",")","corresponding","to","the","target_sizes","entry","(","if","`","target_sizes","`","is","specified",")",".","Each","entry","of","each","`","torch.Tensor","`","correspond","to","a","semantic","class","id","."]
code: def post_process_semantic_segmentation(
      self, outputs, target_sizes: List[Tuple] = None
  ):
      """
      Converts the output of [`MobileViTForSemanticSegmentation`] into semantic segmentation maps. Only supports PyTorch.
  
      Args:
          outputs ([`MobileViTForSemanticSegmentation`]):
              Raw outputs of the model.
          target_sizes (`List[Tuple]` of length `batch_size`, *optional*):
              List of tuples corresponding to the requested final size (height, width) of each prediction. If unset,
              predictions will not be resized.
  
      Returns:
          semantic_segmentation: `List[torch.Tensor]` of length `batch_size`, where each item is a semantic
          segmentation map of shape (height, width) corresponding to the target_sizes entry (if `target_sizes` is
          specified). Each entry of each `torch.Tensor` correspond to a semantic class id.
      """
      # TODO: add support for other frameworks
      logits = outputs.logits
  
      # Resize logits and compute semantic segmentation maps
      if target_sizes is not None:
          if len(logits) != len(target_sizes):
              raise ValueError(
                  "Make sure that you pass in as many target sizes as the batch dimension of the logits"
              )
  
          if is_torch_tensor(target_sizes):
              target_sizes = target_sizes.numpy()
  
          semantic_segmentation = []
  
          for idx in range(len(logits)):
              resized_logits = torch.nn.functional.interpolate(
                  logits[idx].unsqueeze(dim=0),
                  size=target_sizes[idx],
                  mode="bilinear",
                  align_corners=False,
              )
              semantic_map = resized_logits[0].argmax(dim=0)
              semantic_segmentation.append(semantic_map)
      else:
          semantic_segmentation = logits.argmax(dim=1)
          semantic_segmentation = [
              semantic_segmentation[i]
              for i in range(semantic_segmentation.shape[0])
          ]
  
      return semantic_segmentation
  
file_path: transformers/src/transformers/models/mobilevit/image_processing_mobilevit.py
imports: from typing import Dict, List, Optional, Tuple, Union
  import numpy
  from ...image_processing_utils import BaseImageProcessor, BatchFeature, get_size_dict
  from ...image_transforms import flip_channel_order, get_resize_output_image_size, resize, to_channel_dimension_format
  from ...image_utils import ChannelDimension, ImageInput, PILImageResampling, infer_channel_dimension_format, is_scaled_image, make_list_of_images, to_numpy_array, valid_images
  from ...utils import TensorType, is_torch_available, is_torch_tensor, is_vision_available, logging
label_desc: Use image node_id 9 for calling the MobileViTImageProcessor obj's underlying member method code with example usage: obj.post_process_semantic_segmentation(outputs, target_sizes) and returns: semantic_segmentation