code: def test_pickle(input_type):
      if input_type == "numba":
          pytest.skip("numba arrays cant be picked at this time")
  
      est = DummyTestEstimator()
  
      X_in = create_input(input_type, np.float32, (10, 5), "C")
  
      est.store_input(X_in)
  
      # Loop and verify we have filled the cache
      for out_type in test_output_types_str:
          with cuml.using_output_type(out_type):
              assert_array_identical(
                  est.input_any_, create_output(X_in, out_type)
              )
  
      est_pickled_bytes = pickle.dumps(est)
      est_unpickled: DummyTestEstimator = pickle.loads(
          est_pickled_bytes
      )
  
      # Assert that we only resture the input
      assert (
          est_unpickled.__dict__["input_any_"].input_type == input_type
      )
      assert len(est_unpickled.__dict__["input_any_"].values) == 1
  
      assert_array_identical(est.get_input(), est_unpickled.get_input())
      assert_array_identical(est.input_any_, est_unpickled.input_any_)
  
      # Loop one more time with the picked one to make sure it works right
      for out_type in test_output_types_str:
          with cuml.using_output_type(out_type):
              assert_array_identical(
                  est.input_any_, create_output(X_in, out_type)
              )
  
          est_unpickled.output_type = out_type
  
          assert_array_identical(
              est_unpickled.input_any_, create_output(X_in, out_type)
          )
  
imports: from cuml.internals.input_utils import input_to_cuml_array
  from cuml.internals.input_utils import determine_array_type
  from cuml.internals.input_utils import determine_array_dtype
  from cuml.common.array_descriptor import CumlArrayDescriptor
  from cuml.internals.array import CumlArray
  import pytest
  from cuml.internals.safe_imports import cpu_only_import
  import pickle
  import cuml
  import cuml.internals
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 4 for calling a global function with example usage: test_pickle(input_type) without return types