Регрессия графического процессора 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 на другом устройстве/контексте.
Что именно вызывает несоответствие устройств GPU/CPU DMatrix в API scikit-learn, и каков «правильный» способ сделать предсказание надежным, когда обучение проводится на графическом процессоре, но последующие предварительные обработки/конвейеры могут создавать массивы NumPy на ЦП?
В частности:
• Связано ли это с внутренним использованием XGBoost для hist + GPU?
• Должен ли я принудительно использовать определенный тип предиктора/DMatrix?
• Рекомендуемое исправление, чтобы всегда передавать кадры данных pandas (или всегда передавать CuPy) или намеренно переносить прогноз на ЦП?

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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