Jiaming Yuan
e726dd9902
Set device in device dmatrix. ( #5596 )
2020-04-25 13:42:53 +08:00
Jiaming Yuan
f27b6f9ba6
Update document. ( #5572 )
2020-04-22 02:37:37 +08:00
Jiaming Yuan
c355ab65ed
Enable parameter validation for R. ( #5569 )
...
* Enable parameter validation for R.
* Add test.
2020-04-21 11:19:09 -07:00
Jiaming Yuan
564b22cee5
Restore attributes in complete. ( #5573 )
2020-04-21 11:06:55 -07:00
Jiaming Yuan
9c1103e06c
[Breaking] Set output margin to True for custom objective. ( #5564 )
...
* Set output margin to True for custom objective in Python and R.
* Add a demo for writing multi-class custom objective function.
* Run tests on selected demos.
2020-04-20 20:44:12 +08:00
Jiaming Yuan
fcbedcedf8
Fix configuration I load model. ( #5562 )
2020-04-20 17:25:11 +08:00
Jiaming Yuan
29a4cfe400
Group aware GPU sketching. ( #5551 )
...
* Group aware GPU weighted sketching.
* Distribute group weights to each data point.
* Relax the test.
* Validate input meta info.
* Fix metainfo copy ctor.
2020-04-20 17:18:52 +08:00
Jiaming Yuan
b809f5d8b8
Don't set seed on CLI interface. ( #5563 )
2020-04-20 12:17:03 +08:00
Jiaming Yuan
ccd30e4491
Fix non-openmp build. ( #5566 )
...
* Add test to Jenkins.
* Fix threading utils tests.
* Require thread library.
2020-04-20 12:16:38 +08:00
Jiaming Yuan
e1f22baf8c
Fix slice and get info. ( #5552 )
2020-04-18 18:00:13 +08:00
Jiaming Yuan
c245eb8755
Fix r interaction constraints ( #5543 )
...
* Unify the parsing code.
* Cleanup.
2020-04-18 06:53:51 +08:00
Jiaming Yuan
93df871c8c
Assert matching length of evaluation inputs. ( #5540 )
2020-04-18 06:52:55 +08:00
Jiaming Yuan
c69a19e2b1
Fix skl nan tag. ( #5538 )
2020-04-18 06:52:17 +08:00
Jiaming Yuan
cfee9fae91
Don't use uint for threads. ( #5542 )
2020-04-17 09:45:42 +08:00
Jiaming Yuan
bb29ce2818
Add missing aft parameters. [skip ci] ( #5553 )
2020-04-16 12:08:55 -07:00
Jiaming Yuan
468b1594d3
Fix CLI model IO. ( #5535 )
...
* Add test for comparing Python and CLI training result.
2020-04-16 07:48:47 +08:00
Jiaming Yuan and Hyunsu Cho
8b04736b81
[dask] dask cudf inplace prediction. ( #5512 )
...
* Add inplace prediction for dask-cudf.
* Remove Dockerfile.release, since it's not used anywhere
* Use Conda exclusively in CUDF and GPU containers
* Improve cupy memory copying.
* Add skip marks to tests.
* Add mgpu-cudf category on the CI to run all distributed tests.
Co-authored-by: Hyunsu Cho <chohyu01@cs.washington.edu >
2020-04-15 18:15:51 +08:00
Jiaming Yuan
a2f54963b6
Write binary header. ( #5532 )
2020-04-15 17:47:57 +08:00
Jiaming Yuan
c90119eb67
Update Python doc. [skip ci] ( #5517 )
...
* Update doc for copying booster. [skip ci]
The issue is resolved in #5312 .
* Add version for new APIs. [skip ci]
2020-04-14 16:25:20 +08:00
Jiaming Yuan
b56c902841
[R] R raw serialization. ( #5123 )
...
* Add bindings for serialization.
* Change `xgb.save.raw' into full serialization instead of simple model.
* Add `xgb.load.raw' for unserialization.
* Run devtools.
2020-04-11 17:16:54 +08:00
Jiaming Yuan
a3db79df22
Remove makefiles. ( #5513 )
2020-04-11 13:25:53 +08:00
Jiaming Yuan
4a0c8ef237
Update doc for parameter validation. ( #5508 )
...
* Update doc for parameter validation.
* Fix github rebase.
2020-04-11 00:43:46 +08:00
Jiaming Yuan
1334aca437
Fix github merge. ( #5509 )
2020-04-10 22:17:38 +08:00
Jiaming Yuan
866a477319
Unify max nodes. ( #5497 )
2020-04-10 19:26:35 +08:00
Jiaming Yuan
bd653fad4c
Remove distcol updater. ( #5507 )
...
Closes #5498 .
2020-04-10 12:52:56 +08:00
Jiaming Yuan
7d52c0b8c2
Requires setting leaf stat when expanding tree. ( #5501 )
...
* Fix GPU Hist feature importance.
2020-04-10 12:27:03 +08:00
Jiaming Yuan
dc2950fd90
Fix checking booster. ( #5505 )
...
* Use `get_params()` instead of `getattr` intrinsic.
2020-04-10 12:21:21 +08:00
Jiaming Yuan
6671b42dd4
Use ellpack for prediction only when sparsepage doesn't exist. ( #5504 )
2020-04-10 12:15:46 +08:00
Jiaming Yuan and Hyunsu Cho
0012f2ef93
Upgrade clang-tidy on CI. ( #5469 )
...
* Correct all clang-tidy errors.
* Upgrade clang-tidy to 10 on CI.
Co-authored-by: Hyunsu Cho <chohyu01@cs.washington.edu >
2020-04-05 04:42:29 +08:00
Jiaming Yuan
a9313802ea
Fix dump model. ( #5485 )
2020-04-05 03:52:54 +08:00
Jiaming Yuan
939973630d
Accept other gradient types for split entry. ( #5467 )
2020-04-03 10:38:44 +08:00
Jiaming Yuan
86beb68ce8
Implement host span. ( #5459 )
2020-04-03 10:37:51 +08:00
Jiaming Yuan
459b175dc6
Split up test helpers header. ( #5455 )
2020-04-03 10:36:53 +08:00
Jiaming Yuan
c218d8ffbf
Enable parameter validation for skl. ( #5477 )
2020-04-03 10:23:58 +08:00
Jiaming Yuan
d0b86c75d9
Remove silent parameter. ( #5476 )
2020-04-03 08:03:26 +08:00
Jiaming Yuan
29c6ad943a
Prevent copying SimpleDMatrix. ( #5453 )
...
* Set default dtor for SimpleDMatrix to initialize default copy ctor, which is
deleted due to unique ptr.
* Remove commented code.
* Remove warning for calling host function (std::max).
* Remove warning for initialization order.
* Remove warning for unused variables.
2020-04-02 07:01:49 +08:00
Jiaming Yuan
e86030c360
Update dmlc-core. ( #5466 )
...
* Copy dmlc travis script to XGBoost.
2020-04-02 04:16:39 +08:00
Jiaming Yuan
babcb996e7
Reduce span check overhead. ( #5464 )
2020-04-01 22:07:24 +08:00
Jiaming Yuan
6601a641d7
Thread safe, inplace prediction. ( #5389 )
...
Normal prediction with DMatrix is now thread safe with locks. Added inplace prediction is lock free thread safe.
When data is on device (cupy, cudf), the returned data is also on device.
* Implementation for numpy, csr, cudf and cupy.
* Implementation for dask.
* Remove sync in simple dmatrix.
2020-03-30 15:35:28 +08:00
Jiaming Yuan
780de49ddb
Resolve travis failure. ( #5445 )
...
* Install dependencies by pip.
2020-03-27 19:37:58 +08:00
Jiaming Yuan
4942da64ae
Refactor tests with data generator. ( #5439 )
2020-03-27 06:44:44 +08:00
Jiaming Yuan
7146b91d5a
Force compressed buffer to be 4 bytes aligned. ( #5441 )
2020-03-27 06:43:52 +08:00
Jiaming Yuan
cd7d6f7d59
[dask] Fix missing value for scikit-learn interface. ( #5435 )
2020-03-20 10:56:01 -04:00
Jiaming Yuan
abca9908ba
Support pandas SparseArray. ( #5431 )
2020-03-20 21:40:22 +08:00
Jiaming Yuan
760d5d0c3c
[dask] Accept other inputs for prediction. ( #5428 )
...
* Returns a series when input is dataframe.
* Merge assert client.
2020-03-19 17:05:55 +08:00
Jiaming Yuan
8ca06ab329
[dask] Check non-equal when setting threads. ( #5421 )
...
* Check non-equal.
`nthread` can be restored from internal parameter, which is mis-interpreted as
user defined parameter.
* Check None.
2020-03-17 13:07:20 +08:00
Jiaming Yuan
b51124c158
[dask] Enable gridsearching with skl. ( #5417 )
2020-03-16 04:51:51 +08:00
Jiaming Yuan
761a5dbdfc
[dask] Honor nthreads from dask worker. ( #5414 )
2020-03-16 04:51:24 +08:00
Jiaming Yuan
21b671aa06
[dask] Order the prediction result. ( #5416 )
2020-03-15 19:34:04 +08:00
Jiaming Yuan
668e432e2d
[dask] Use DMLC_TASK_ID. ( #5415 )
2020-03-15 16:47:03 +08:00
Jiaming Yuan
fc88105620
Better error message for updating. ( #5418 )
2020-03-15 16:46:21 +08:00
Jiaming Yuan
ab7a46a1a4
Check whether current updater can modify a tree. ( #5406 )
...
* Check whether current updater can modify a tree.
* Fix tree model JSON IO for pruned trees.
2020-03-14 09:24:08 +08:00
Jiaming Yuan
45a97ddf32
Split up LearnerImpl. ( #5350 )
2020-03-12 16:30:23 +08:00
Jiaming Yuan
0dd97c206b
Move thread local entry into Learner. ( #5396 )
...
* Move thread local entry into Learner.
This is an attempt to workaround CUDA context issue in static variable, where
the CUDA context can be released before device vector.
* Add PredictionEntry to thread local entry.
This eliminates one copy of prediction vector.
* Don't define CUDA C API in a namespace.
2020-03-07 15:37:39 +08:00
Jiaming Yuan
8d06878bf9
Deterministic GPU histogram. ( #5361 )
...
* Use pre-rounding based method to obtain reproducible floating point
summation.
* GPU Hist for regression and classification are bit-by-bit reproducible.
* Add doc.
* Switch to thrust reduce for `node_sum_gradient`.
2020-03-04 15:13:28 +08:00
Jiaming Yuan
2ba8c13b69
Revert "Enable rabit test ( #5358 )" ( #5377 )
...
This reverts commit 9a5efffebe .
2020-02-29 04:25:03 +08:00
Jiaming Yuan
a461a9a90a
Define lazy isinstance for Python compat. ( #5364 )
...
* Avoid importing datatable.
* Fix #5363 .
2020-02-26 14:23:33 +08:00
Jiaming Yuan
0fd455e162
Restore loading model from buffer. ( #5360 )
2020-02-26 11:30:13 +08:00
Jiaming Yuan
f2b8cd2922
Add number of columns to native data iterator. ( #5202 )
...
* Change native data iter into an adapter.
2020-02-25 23:42:01 +08:00
Jiaming Yuan
e0509b3307
Fix pruner. ( #5335 )
...
* Honor the tree depth.
* Prevent pruning pruned node.
2020-02-25 08:32:46 +08:00
Jiaming Yuan
655cf17b60
Predict on Ellpack. ( #5327 )
...
* Unify GPU prediction node.
* Add `PageExists`.
* Dispatch prediction on input data for GPU Predictor.
2020-02-23 06:27:03 +08:00
Jiaming Yuan
9f77c18b0d
Add JVM_CHECK_CALL. ( #5199 )
...
* Added a check call macro in jvm package, prevents executing other functions
from jvm when error occurred in XGBoost. For example, when prediction fails jvm
should not try to allocate memory based on the output prediction size.
2020-02-18 11:10:55 +08:00
Jiaming Yuan
0110754a76
Remove update prediction cache from predictors. ( #5312 )
...
Move this function into gbtree, and uses only updater for doing so. As now the predictor knows exactly how many trees to predict, there's no need for it to update the prediction cache.
2020-02-17 11:35:47 +08:00
Jiaming Yuan
e433a379e4
Fix changing locale. ( #5314 )
...
* Fix changing locale.
* Don't use locale guard.
As number parsing is implemented in house, we don't need locale.
* Update doc.
2020-02-17 11:31:13 +08:00
Jiaming Yuan
ed2465cce4
Add configuration to R interface. ( #5217 )
...
* Save and load internal parameter configuration as JSON.
2020-02-16 03:01:58 +08:00
Jiaming Yuan
8ca9744b07
Use scikit-learn in extra dependencies. ( #5310 )
2020-02-15 07:12:51 +08:00
Jiaming Yuan
c35cdecddd
Move prediction cache to Learner. ( #5220 )
...
* Move prediction cache into Learner.
* Clean-ups
- Remove duplicated cache in Learner and GBM.
- Remove ad-hoc fix of invalid cache.
- Remove `PredictFromCache` in predictors.
- Remove prediction cache for linear altogether, as it's only moving the
prediction into training process but doesn't provide any actual overall speed
gain.
- The cache is now unique to Learner, which means the ownership is no longer
shared by any other components.
* Changes
- Add version to prediction cache.
- Use weak ptr to check expired DMatrix.
- Pass shared pointer instead of raw pointer.
2020-02-14 13:04:23 +08:00
Jiaming Yuan
911a902835
Merge model compatibility fixes from 1.0rc branch. ( #5305 )
...
* Port test model compatibility.
* Port logit model fix.
https://github.com/dmlc/xgboost/pull/5248
https://github.com/dmlc/xgboost/pull/5281
2020-02-13 20:41:58 +08:00
Jiaming Yuan
29eeea709a
Pass shared pointer instead of raw pointer to Learner. ( #5302 )
...
Extracted from https://github.com/dmlc/xgboost/pull/5220 .
2020-02-11 14:16:38 +08:00
Jiaming Yuan
84e395d91e
Fix CMake build on Windows with setuptools. ( #5280 )
2020-02-05 10:47:39 +08:00
Jiaming Yuan
595a00466d
Rewrite setup.py. ( #5271 )
...
The setup.py is rewritten. This new script uses only Python code and provide customized
implementation of setuptools commands. This way users can run most of setuptools commands
just like any other Python libraries.
* Remove setup_pip.py
* Remove soft links.
* Define customized commands.
* Remove shell script.
* Remove makefile script.
* Update the doc for building from source.
2020-02-04 13:35:42 +08:00
Jiaming Yuan
a5cc112eea
Export JSON config in get_params. ( #5256 )
2020-02-03 12:46:51 +08:00
Jiaming Yuan
ed0216642f
Avoid dask test fixtures. ( #5270 )
...
* Fix Travis OSX timeout.
* Fix classifier.
2020-02-03 12:39:20 +08:00
Jiaming Yuan
856b81c727
Ignore gdb_history. [skip ci] ( #5257 )
2020-02-02 20:40:09 +08:00
Jiaming Yuan
fe8d72b50b
Cleanup warnings. ( #5247 )
...
From clang-tidy-9 and gcc-7: Invalid case style, narrowing definition, wrong
initialization order, unused variables.
2020-01-31 14:52:15 +08:00
Jiaming Yuan
472ded549d
Save Scikit-Learn attributes into learner attributes. ( #5245 )
...
* Remove the recommendation for pickle.
* Save skl attributes in booster.attr
* Test loading scikit-learn model with native booster.
2020-01-30 16:00:18 +08:00
Jiaming Yuan
43974939f4
Better error message about loading pickled model. ( #5236 )
...
Print the link to new tutorial.
2020-01-28 15:29:14 +08:00
Jiaming Yuan
ef19480eda
Add dart to JSON schema. ( #5218 )
...
* Add dart to JSON schema.
* Use spaces instead of tab.
2020-01-28 13:29:09 +08:00
Jiaming Yuan
3eb1279bbf
Config for linear updaters. ( #5222 )
2020-01-25 11:26:46 +08:00
Jiaming Yuan
40680368cf
Add constraint parameters to Scikit-Learn interface. ( #5227 )
...
* Add document for constraints.
* Fix a format error in doc for objective function.
2020-01-25 11:12:02 +08:00
Jiaming Yuan
1891cc766d
Fix metainfo from DataFrame. ( #5216 )
...
* Fix metainfo from DataFrame.
* Unify helper functions for data and meta.
2020-01-22 16:29:44 +08:00
Jiaming Yuan
5199b86126
Fix R dart prediction. ( #5204 )
...
* Fix R dart prediction and add test.
2020-01-16 12:11:04 +08:00
Jiaming Yuan
808f61081b
Update R doc by roxygen2. ( #5201 )
2020-01-15 10:49:17 +08:00
Jiaming Yuan
7b65698187
Enforce correct data shape. ( #5191 )
...
* Fix syncing DMatrix columns.
* notes for tree method.
* Enable feature validation for all interfaces except for jvm.
* Better tests for boosting from predictions.
* Disable validation on JVM.
2020-01-13 15:48:17 +08:00
Jiaming Yuan
ee287808fb
Lazy initialization of device vector. ( #5173 )
...
* Lazy initialization of device vector.
* Fix #5162 .
* Disable copy constructor of HostDeviceVector. Prevents implicit copying.
* Fix CPU build.
* Bring back move assignment operator.
2020-01-07 11:23:05 +08:00
Jiaming Yuan
77cfbff5a7
Fix span constructor. ( #5166 )
...
* Make sure copy constructor is used.
2020-01-07 11:19:38 +08:00
Jiaming Yuan
ebc86a3afa
Disable parameter validation for Scikit-Learn interface. ( #5167 )
...
* Disable parameter validation for now.
Scikit-Learn passes all parameters down to XGBoost, whether they are used or
not.
* Add option `validate_parameters`.
2020-01-07 11:17:31 +08:00
Jiaming Yuan
2b9a62a806
Throw error when not compiled with NCCL. ( #5170 )
2020-01-07 11:15:19 +08:00
Jiaming Yuan
04db125699
Quick fix for memory leak in CPU Hist. ( #5153 )
...
Closes https://github.com/dmlc/xgboost/issues/3579 .
* Don't use map.
2019-12-31 14:05:53 +08:00
Jiaming Yuan
139ccc9902
Fix num_roots to be 1. ( #5165 )
2019-12-30 02:18:45 +08:00
Jiaming Yuan
d55489af14
Don't use modernize-use-trailing-return-type. ( #5169 )
2019-12-29 20:18:23 +08:00
Jiaming Yuan
6848d0426f
Clean up Python 2 compatibility code. ( #5161 )
2019-12-27 18:34:53 +08:00
Jiaming Yuan
61286c6e8f
Fix wrapping GPU ID and prevent data copying. ( #5160 )
...
* Removed some data copying.
* Make sure gpu_id is valid before any configuration is carried out.
2019-12-27 16:51:08 +08:00
Jiaming Yuan
f3d7877802
Parameter validation ( #5157 )
...
* Unused code.
* Split up old colmaker parameters from train param.
* Fix dart.
* Better name.
2019-12-26 11:59:05 +08:00
Jiaming Yuan
ced3660f60
Tests for empty dmatrix. ( #5159 )
2019-12-26 11:51:54 +08:00
Jiaming Yuan
298ebe68ac
[Breaking] Remove learning_rates in Python. ( #5155 )
...
* Remove `learning_rates`.
It's been deprecated since we have callback.
* Set `before_iteration` of `reset_learning_rate` to False to preserve
the initial learning rate, and comply to the term "reset".
Closes #4709 .
* Tests for various `tree_method`.
2019-12-24 14:25:48 +08:00
Jiaming Yuan
73b1bd2789
Update demo for ranking. ( #5154 )
2019-12-24 13:39:07 +08:00
Jiaming Yuan
0202e04a8e
Add base margin to sklearn interface. ( #5151 )
2019-12-24 09:43:41 +08:00
Jiaming Yuan
1d0ca49761
Example JSON model parser and Schema. ( #5137 )
2019-12-23 19:47:35 +08:00
Jiaming Yuan
a4b929385e
Note for DaskDMatrix. ( #5144 )
...
* Brief introduction to `DaskDMatrix`.
* Add xgboost.dask.train to API doc
2019-12-23 18:55:32 +08:00