The following code trains a model for 10 iterations, then continues training it for another 10.
import xgboost as xgb
from xgboost import XGBClassifier
import numpy as np
xgbc = XGBClassifier(n_estimators=10)
train_X = np.random.normal(size=(100,50))
train_Y = np.random.randint(0,10,100)
xgbc.fit(train_X,train_Y,verbose=True,eval_set=[(train_X,train_Y)])
xgbc.fit(train_X,train_Y,verbose=True,eval_set=[(train_X,train_Y)],xgb_model=xgbc.get_booster())
However, the following code, which is identical except for tree_method='gpu_hist', trains a model for 10 iterations, and then starts over from scratch and trains a new model for 10 iterations.
import xgboost as xgb
from xgboost import XGBClassifier
import numpy as np
xgbc = XGBClassifier(n_estimators=10, tree_method='gpu_hist')
train_X = np.random.normal(size=(100,50))
train_Y = np.random.randint(0,10,100)
xgbc.fit(train_X,train_Y,verbose=True,eval_set=[(train_X,train_Y)])
xgbc.fit(train_X,train_Y,verbose=True,eval_set=[(train_X,train_Y)],xgb_model=xgbc.get_booster())
How can I continue training a model (as in the first example) when using the GPU, i.e. when setting tree_method='gpu_hist'?
Things I have tried include saving the model after the first 10 iterations with xgbc.save_model('./temp') and then doing the second fit with xgb_model='./temp'. This makes no difference.
I am using Google Colab.