XGBOOST GPU Версия не превосходит процессор в небольшом наборе данных, несмотря на настройку параметров - необходимы преPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 XGBOOST GPU Версия не превосходит процессор в небольшом наборе данных, несмотря на настройку параметров - необходимы пре

Сообщение Anonymous »

В настоящее время я работаю над параллельным и распределенным вычислительным проектом, где я сравниваю производительность XGBOOST, работающего на процессоре против графического процессора. Цель состоит в том, чтобы продемонстрировать, как ускорение графического процессора может улучшить время обучения, особенно при использовании соответствующих параметров. Фактически, в большинстве случаев версия процессора также работает или даже быстрее, чем версия GPU. < /P>
@timer_decorator
def train_xgboost_cpu(self, X_train, y_train):
"""
Train XGBoost Classifier on CPU with parameters that perform less efficiently
"""
print("Training XGBoost Classifier on CPU...")
xgb_clf = xgb.XGBClassifier(
n_estimators=1500,
max_depth=15,
learning_rate=0.01,
subsample=0.9,
colsample_bytree=0.9,
objective='binary:logistic',
tree_method='hist',
n_jobs=self.n_jobs,
random_state=42,
max_bin=256,
grow_policy='depthwise'
verbosity=1,
use_label_encoder=False
)

print(f"Training XGBoost CPU on data shape: {X_train.shape}")
xgb_clf.fit(X_train, y_train)

return xgb_clf

@timer_decorator
def train_xgboost_gpu(self, X_train, y_train):
"""
Train XGBoost Classifier with GPU acceleration optimized for performance
"""
if not XGB_GPU_AVAILABLE:
print("XGBoost GPU support not available, falling back to CPU")
return self.train_xgboost_cpu(X_train, y_train)

# Initialize and train the model with GPU-optimized parameters
print("Training XGBoost Classifier on GPU...")
try:
xgb_clf = xgb.XGBClassifier(
n_estimators=1500,
max_depth=15,
learning_rate=0.01,
subsample=0.9,
colsample_bytree=0.9,
objective='binary:logistic',
tree_method='gpu_hist',
predictor='gpu_predictor',
grow_policy='depthwise',
gpu_id=0,
random_state=42,
max_bin=256,
verbosity=1,
use_label_encoder=False
)
xgb_clf.fit(X_train, y_train)
return xgb_clf
except Exception as e:
print(f"XGBoost GPU training failed: {e}")
print("Falling back to CPU training")
return self.train_xgboost_cpu(X_train, y_train)

< /code>
Подробнее:
Размер набора данных: ~ 41 000 строк (малый /средний).
Цель: сравнивать процессору с GPU. Придется работать с этим набором данных независимо.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ameter-tun
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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