Lightgbm классификатор с графическим процессором - PullRequest
3 голосов
/ 23 февраля 2020
model = lgbm.LGBMClassifier(n_estimators=1250, num_leaves=128,learning_rate=0.009,verbose=1)`enter code here`

с использованием классификатора ЛГБМ Есть ли способ использовать это с GPU в эти дни?

1 Ответ

2 голосов
/ 23 февраля 2020

Во-первых, вам нужно собрать LightGBM для GPU, например:

git clone --recursive https://github.com/Microsoft/LightGBM 
cd LightGBM && mkdir build && cd build
cmake -DUSE_GPU=1 ..
make -j4
pip uninstall lightgbm
cd ../python-package/ && python setup.py install

После этого вы можете использовать device="gpu" в параметрах для обучения вашей модели на GPU, например:

lgbm.train(params={'device'='gpu'}, ...)

или

lgbm.LGBMClassifier(device='gpu')

И разница во времени для набора данных sh: 1011 *

from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
import lightgbm as lgbm
X,y = make_classification(n_samples=10000000, n_features=100, n_classes=2)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)
%%timeit
model = lgbm.LGBMClassifier(device="gpu")
model.fit(X_train, y_train)
19.9 s ± 163 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
%%timeit
model = lgbm.LGBMClassifier(device="cpu")
model.fit(X_train, y_train)
1min 23s ± 46.4 s per loop (mean ± std. dev. of 7 runs, 1 loop each)
...