Running a GPU-trained XGBoost model on a CPU machine later

Viewed 918

I have trained and validated an XGBoost model on a GPU machine and pickled it. When I load the pickle and test on the same machine, it works perfectly. I get the multiclass ROC_AUC and the works. When testing on another machine, which only has CPUs to spare, I load the pickle, and as necessary, set:

xgboost_clf = xgboost_clf.set_params(predictor = 'cpu_predict')
xgboost_clf = xgboost_clf.set_params(tree_method = 'hist')

I run it:

Y_test_pred_xgboost = xgboost_clf.predict(X_test)

But all the results NOW belong to the first of my multiple classes. I would greatly appreciately the answer to the question: what have I still left out?

With kind regards, Jaan :)

PS! Does not seems to pretain to this problem, which is a fixed issue. https://github.com/h2oai/h2o4gpu/issues/625

0 Answers
Related