Я использую 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
Мобильная версия