3

我正在使用此代码在 GPU 上训练 xgboost 模型

问题是同时使用 GPU (NVIDIA 1050) 和 CPU 内核。NVIDIA 系统监视器显示利用率为 85% 到 90%,Linux 系统监视器显示所有内核都在工作。

这里有两个问题

1 .当定义的tree_method为'gpu_hist'时,为什么xgb_cv同时使用两者

  1. 当模型使用“hist”而不是“gpu_hist”进行训练时,它只使用 CPU 内核在一半的时间内完成

谢谢

model_xgb = XGBClassifier(verbose= 1,objective = 'multi:softmax',num_classes=3,tree_method='gpu_hist',predictor = 'gpu_predictor')

xgb_cv    = GridSearchCV(model_xgb, 
                      {"colsample_bytree":[0.8,0.6]
                        ,"min_child_weight":[0,5 ]
                        ,'max_depth': [3,4,] 
                        ,'n_estimators': [500]
                        ,'learning_rate' :[0.01, 0.1]},cv = 2,verbose = 1)





## Fit with cross validation
start_time = time.time()
xgb_cv.fit(X_train,Y_train,verbose = 1)   
duration = (time.time() - start_time)/60                    
print("XGBOOST HyperParameter Tuning  %s minutes ---" % + duration)
4

0 回答 0