1
次のコードでは、xgboostのさまざまなハイパーパラメータを検索しようとしています。GPUがサポートされたXGBClassifierを使用した高速化はありません
param_test1 = {
'max_depth':list(range(3,10,2)),
'min_child_weight':list(range(1,6,2))
}
predictors = [x for x in train_data.columns if x not in ['target', 'id']]
gsearch1 = GridSearchCV(estimator=XGBClassifier(learning_rate =0.1, n_estimators=100, max_depth=5,
min_child_weight=1, gamma=0, subsample=0.8, colsample_bytree=0.8,
objective= 'binary:logistic', n_jobs=4, scale_pos_weight=1, seed=27,
kvargs={'tree_method':'gpu_hist'}),
param_grid=param_test1, scoring='roc_auc', n_jobs=4, iid=False, cv=5, verbose=2)
gsearch1.fit(train_data[predictors], train_data['target'])
私はkvargs={tree_method':'gpu_hist'}
を使用していますが、私は実装に何のスピードアップを取得していません。
$ git clone --recursive https://github.com/dmlc/xgboost
$ mkdir build
$ cd build
$ cmake .. -DUSE_CUDA=ON
$ make -j
可能な理由は何ですか:私はUbuntuの中で次のコマンドを使用してxgboostサポートGPUをインストールしている
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.66 Driver Version: 375.66 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 1080 Off | 0000:01:00.0 On | N/A |
| 0% 39C P8 10W/200W | 338MiB/8112MiB | 1% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 961 G /usr/lib/xorg/Xorg 210MiB |
| 0 1675 G compiz 124MiB |
| 0 2359 G /usr/lib/firefox/firefox 2MiB |
+-----------------------------------------------------------------------------+
:nvidia-smi
によると、GPUは多くの計算に関与していませんか?
あなたはCUDAツールキットとGPUのxgboostが正しくインストールされていますか? 'tree_method ':' gpu_hist'を 'kvargs {}'にラップせずに試してみてください。他のすべてのパラメータと同じです。 –
@VivekKumarはい、そうだと思います。 'tree_method'パラメータについては、通常のパラメータとして定義されていないと考えて、kvargsに含める必要があります。 – Hossein
解決策はありますか?問題は私のために実際です。 – QtRoS