В настоящее время я работаю над параллельным и распределенным вычислительным проектом, где я сравниваю производительность 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
XGBOOST GPU Версия не превосходит процессор в небольшом наборе данных, несмотря на настройку параметров - необходимы пре ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как тренировать XGBOOST на большом наборе данных и улучшить обнаружение мошенничества?
Anonymous » » в форуме Python - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-