code: def test_numpy_dtype_pickling():
      # numpy dtype hashing is tricky to get right: see #231, #239, #251 #1080,
      # #1082, and explanatory comments inside
      # ``joblib.hashing.NumpyHasher.save``.
  
      # In this test, we make sure that the pickling of numpy dtypes is robust to
      # object identity and object copy.
  
      dt1 = np.dtype("f4")
      dt2 = np.dtype("f4")
  
      # simple dtypes objects are interned
      assert dt1 is dt2
      assert hash(dt1) == hash(dt2)
  
      dt1_roundtripped = pickle.loads(pickle.dumps(dt1))
      assert dt1 is not dt1_roundtripped
      assert hash(dt1) == hash(dt1_roundtripped)
  
      assert hash([dt1, dt1]) == hash(
          [dt1_roundtripped, dt1_roundtripped]
      )
      assert hash([dt1, dt1]) == hash([dt1, dt1_roundtripped])
  
      complex_dt1 = np.dtype(
          [("name", np.str_, 16), ("grades", np.float64, (2,))]
      )
      complex_dt2 = np.dtype(
          [("name", np.str_, 16), ("grades", np.float64, (2,))]
      )
  
      # complex dtypes objects are not interned
      assert hash(complex_dt1) == hash(complex_dt2)
  
      complex_dt1_roundtripped = pickle.loads(pickle.dumps(complex_dt1))
      assert complex_dt1_roundtripped is not complex_dt1
      assert hash(complex_dt1) == hash(complex_dt1_roundtripped)
  
      assert hash([complex_dt1, complex_dt1]) == hash(
          [complex_dt1_roundtripped, complex_dt1_roundtripped]
      )
      assert hash([complex_dt1, complex_dt1]) == hash(
          [complex_dt1_roundtripped, complex_dt1]
      )
  
imports: import gc
  import itertools
  import pickle
  import sys
  import time
  from concurrent.futures import ProcessPoolExecutor
  import numpy
  import pandas
  import pytest
  from sklearn.base import BaseEstimator
  from xxhash import xxh128
  from pycaret.datasets import get_data
  from pycaret.internal.memory import fast_hash
  from pycaret.regression import RegressionExperiment
label_desc: Use image node_id 16 for calling a global function with example usage: test_numpy_dtype_pickling() without return types