Регрессия графического процессора XGBoost завершается сбоем в прогнозируемое время с ошибкой проверки: dmat->Device() прPython

Программы на Python
Anonymous
Регрессия графического процессора XGBoost завершается сбоем в прогнозируемое время с ошибкой проверки: dmat->Device() пр

Сообщение Anonymous »

Я обучаю XGBRegressor на графическом процессоре, и он успешно подходит, но предикат() завершается неудачей в зависимости от того, являются ли входные данные во время прогнозирования массивом NumPy или DataFrame pandas (или я перемещаюсь между путями кода CPU/GPU).
Я использую scikit-learn API и Tree_method='hist' с устройством = 'cuda'. Обучение работает, но прогноз иногда выдает ошибку несоответствия устройства/контекста.

XGBoostError: [..] Проверка не удалась: ctx_->Device() == dmat->Device()
: прогнозы выполняются с использованием DMatrix на другом устройстве/контексте.

Что именно запускает этот графический процессор/процессор Несоответствие устройств DMatrix в API scikit-learn и каков «правильный» способ сделать прогноз надежным, когда обучение ведется на графическом процессоре, но последующие предварительные обработки/конвейеры могут создавать массивы NumPy на ЦП?
В частности:
  • Связано ли это с внутренним использованием XGBoost QuantileDMatrix для hist + GPU?
  • Должен ли я принудительно использовать определенный тип предиктора/DMatrix?
  • Рекомендуется ли исправление всегда передавать Pandas DataFrames (или всегда передавать CuPy) или намеренно переносить прогноз в ЦП?


Подробнее здесь: https://stackoverflow.com/questions/798 ... t-device-w

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