Как я могу сократить время обработки с помощью xgboost, используя свой графический процессор?Python

Программы на Python
Гость
Как я могу сократить время обработки с помощью xgboost, используя свой графический процессор?

Сообщение Гость »

Я следую этому руководству по базе данных, и они упомянули одну вещь: использование вашего графического процессора для ускорения обработки. Они даже заходят так далеко, что говорят, что это «невероятно быстро».
Однако я наблюдаю противоположные результаты. Для приведенного ниже блока кода с повышением на 10 000 я вижу ~30 секунд с «hist», переданным в моих параметрах, по сравнению с чуть более минуты с «gpu_hist», переданным с моими параметрами< /code>.
Загрузка моего графического процессора ограничивается 40 % при использовании "gpu_hist" и 100 % на всех 24 логических ядрах при использовании "hist"

Код: Выделить всё

params = {"objective": "reg:squarederror", "tree_method": "gpu_hist", "subsample": 0.8,
"colsample_bytree": 0.8}

evals = [(dtrain_reg, "train"),(dtest_reg, "validation")]

n = 10000

model = xgb.train(
params=params,
dtrain=dtrain_reg,
num_boost_round=n,
evals=evals,
verbose_eval=50,
)
Я пытаюсь запустить это в VSCode в блокноте Jupyter.
  • Я установил набор инструментов CUDA и cuDNN
  • Я проверил, что они добавлены в путь.
  • Я убедился, что установил правильную версию xgboost для использования gpu.
  • Набор данных составляет 53 тыс. строк и 10 столбцов, поэтому я не считаю, что набор данных слишком мал.
  • Я подтвердил совместимость ( используя RTX 2060)
Я спрашивал в чатGPT, искал в Интернете, даже спрашивал наставника на курсе, который я прохожу, но не смог диагностируйте, почему это занимает гораздо больше времени с помощью «gpu_hist», а не просто «hist».
Здесь, в Stack Overflow, есть еще один похожий вопрос, заданный 4 месяца назад, на который нет ответов.

Подробнее здесь: https://stackoverflow.com/questions/776 ... ing-my-gpu

Вернуться в «Python»