class_docstr: This is an image processor mixin used to provide saving/loading functionality for sequential and image feature
  extractors.
docstr: Set elements of `kwargs` as attributes.
docstr_tok: ["Set","elements","of","`","kwargs","`","as","attributes","."]
code: def __init__(self, **kwargs):
      """Set elements of `kwargs` as attributes."""
      # This key was saved while we still used `XXXFeatureExtractor` for image processing. Now we use
      # `XXXImageProcessor`, this attribute and its value are misleading.
      kwargs.pop("feature_extractor_type", None)
      # Pop "processor_class" as it should be saved as private attribute
      self._processor_class = kwargs.pop("processor_class", None)
      # Additional attributes without default values
      for key, value in kwargs.items():
          try:
              setattr(self, key, value)
          except AttributeError as err:
              logger.error(
                  f"Can't set {key} with value {value} for {self}"
              )
              raise err
  
imports: import copy
  import json
  import os
  import warnings
  from io import BytesIO
  from typing import Any, Dict, Iterable, List, Optional, Tuple, Union
  import numpy
  import requests
  from .dynamic_module_utils import custom_object_save
  from .feature_extraction_utils import BatchFeature
  from .image_transforms import center_crop, normalize, rescale
  from .image_utils import ChannelDimension
  from .utils import IMAGE_PROCESSOR_NAME, PushToHubMixin, add_model_info_to_auto_map, cached_file, copy_func, download_url, is_offline_mode, is_remote_url, is_vision_available, logging
label_desc: Use image node_id 1 to create a new ImageProcessingMixin object from inherited base classes: PushToHubMixin with example: obj = ImageProcessingMixin()