sb-ai-lab / Py-Boost

Python based GBDT implementation on GPU. Efficient multioutput (multiclass/multilabel/multitask) training
Apache License 2.0
157 stars 13 forks source link

Error in clip function #11

Closed davidfstein closed 1 year ago

davidfstein commented 1 year ago

When trying to run SketchBoost with:

model = SketchBoost( 'crossentropy', ntrees=1000, lr=0.03, verbose=100, es=300, lambda_l2=1, gd_steps=1, subsample=1, colsample=1, min_data_in_leaf=10, max_bin=256, max_depth=6 )

I get this error:

File "/site-packages/py_boost/multioutput/sketching.py", line 161, in call hess = cp.clip(hess, 0.01) TypeError: clip() missing 1 required positional argument: 'a_max'

I can circumvent it by adding use_hess=False

btbpanda commented 1 year ago

@davidfstein thanks for find out this error.This is caused by updated cupy - in the last version cp.clip function has no default value for a_max argument, but in the previous it was None. I am going to fix it very soon, but the quick fix for this issue will be downgrading the cupy to one of the earlier releases

By the way - use_hess=False is the better choice for the default SketchBoost algorithm which is the RandomProjections. So another approach is to keep it as it is now.

btbpanda commented 1 year ago

Solved. Please update to py-boost==0.4.3

davidfstein commented 1 year ago

Thanks for the quick fix and great package!