code: def test_normalize_array(self):
      feature_extractor = ImageFeatureExtractionMixin()
      array = np.random.random((16, 32, 3))
      mean = [0.1, 0.5, 0.9]
      std = [0.2, 0.4, 0.6]
  
      # mean and std can be passed as lists or NumPy arrays.
      expected = (array - np.array(mean)) / np.array(std)
      normalized_array = feature_extractor.normalize(array, mean, std)
      self.assertTrue(np.array_equal(normalized_array, expected))
  
      normalized_array = feature_extractor.normalize(
          array, np.array(mean), np.array(std)
      )
      self.assertTrue(np.array_equal(normalized_array, expected))
  
      # Normalize will detect automatically if channel first or channel last is used.
      array = np.random.random((3, 16, 32))
      expected = (array - np.array(mean)[:, None, None]) / np.array(
          std
      )[:, None, None]
      normalized_array = feature_extractor.normalize(array, mean, std)
      self.assertTrue(np.array_equal(normalized_array, expected))
  
      normalized_array = feature_extractor.normalize(
          array, np.array(mean), np.array(std)
      )
      self.assertTrue(np.array_equal(normalized_array, expected))
  
imports: import os
  import tempfile
  import unittest
  import datasets
  import numpy
  import pytest
  from huggingface_hub.file_download import http_get
  from requests import ConnectTimeout, ReadTimeout
  from tests.pipelines.test_pipelines_document_question_answering import INVOICE_URL
  from transformers import is_torch_available, is_vision_available
  from transformers.image_utils import ChannelDimension, get_channel_dimension_axis, make_list_of_images
  from transformers.testing_utils import is_flaky, require_torch, require_vision
label_desc: Use image node_id 13 for calling the ImageFeatureExtractionTester obj's underlying member method code with example usage: obj.test_normalize_array() without return types