code: def test_pca_methods(train_device, infer_device):
      n, p = 500, 5
      rng = np.random.RandomState(0)
      X = rng.randn(n, p) * 0.1 + np.array([3, 4, 2, 3, 5])
  
      model = PCA(n_components=3)
      with using_device_type(train_device):
          transformation = model.fit_transform(X)
      with using_device_type(infer_device):
          output = model.inverse_transform(transformation)
  
      output = to_output_type(output, "numpy")
      np.testing.assert_allclose(X, output, rtol=0.15)
  
imports: import platform
  from cuml.testing.test_preproc_utils import to_output_type
  from cuml.testing.utils import array_equal
  from cuml.cluster.hdbscan import HDBSCAN
  from cuml.neighbors import NearestNeighbors
  from cuml.metrics import trustworthiness
  from cuml.metrics import adjusted_rand_score
  from cuml.manifold import UMAP
  from cuml.linear_model import ElasticNet, Lasso, LinearRegression, LogisticRegression, Ridge
  from cuml.internals.memory_utils import using_memory_type
  from cuml.internals.mem_type import MemoryType
  from cuml.decomposition import PCA, TruncatedSVD
  from cuml.common.device_selection import DeviceType, using_device_type
  from hdbscan import HDBSCAN
  from sklearn.neighbors import NearestNeighbors
  from sklearn.linear_model import Ridge
  from sklearn.linear_model import ElasticNet
  from sklearn.linear_model import Lasso
  from sklearn.linear_model import LogisticRegression
  from sklearn.linear_model import LinearRegression
  from sklearn.decomposition import PCA
  from sklearn.decomposition import TruncatedSVD
  from sklearn.datasets import make_regression, make_blobs
  from pytest_cases import fixture_union, fixture_plus
  from importlib import import_module
  import inspect
  import pickle
  from cuml.internals.safe_imports import gpu_only_import
  import itertools
  import pytest
  import cuml
  from cuml.internals.safe_imports import cpu_only_import
label_desc: Use image node_id 34 for calling a global function with example usage: test_pca_methods(train_device, infer_device) without return types