code: def test_pickling(self):
      x, y = build_dataset()
      train_x = xgb.DMatrix(x, label=y)
  
      param = {"tree_method": "gpu_hist", "gpu_id": 0}
      bst = xgb.train(param, train_x)
      self.run_pickling(bst)
  
      bst = xgb.XGBRegressor(**param).fit(x, y)
      self.run_pickling(bst)
  
      param = {
          "booster": "gblinear",
          "updater": "gpu_coord_descent",
          "gpu_id": 0,
      }
      bst = xgb.train(param, train_x)
      self.run_pickling(bst)
  
      bst = xgb.XGBRegressor(**param).fit(x, y)
      self.run_pickling(bst)
  
file_path: xgboost/tests/python-gpu/test_gpu_pickling.py
imports: import os
  import pickle
  import subprocess
  import numpy
  import pytest
  import xgboost
  from xgboost import XGBClassifier
  from xgboost import testing
label_desc: Use image node_id 2 for calling the TestPickling obj's underlying member method code with example usage: obj.test_pickling() without return types