change allreduce lib to rabit library, xgboost now run with rabit
This commit is contained in:
@@ -1,12 +1,9 @@
|
||||
Distributed XGBoost: Column Split Version
|
||||
====
|
||||
* run ```bash mushroom-col.sh <n-mpi-process>```
|
||||
* run ```bash mushroom-col-rabit.sh <n-process>```
|
||||
- mushroom-col-tcp.sh starts xgboost job using rabit's allreduce
|
||||
* run ```bash mushroom-col-mpi.sh <n-mpi-process>```
|
||||
- mushroom-col.sh starts xgboost-mpi job
|
||||
* run ```bash mushroom-col-tcp.sh <n-process>```
|
||||
- mushroom-col-tcp.sh starts xgboost job using xgboost's buildin allreduce
|
||||
* run ```bash mushroom-col-python.sh <n-process>```
|
||||
- mushroom-col-python.sh starts xgboost python job using xgboost's buildin all reduce
|
||||
- see mushroom-col.py
|
||||
|
||||
How to Use
|
||||
====
|
||||
@@ -16,7 +13,7 @@ How to Use
|
||||
|
||||
Notes
|
||||
====
|
||||
* The code is multi-threaded, so you want to run one xgboost-mpi per node
|
||||
* The code is multi-threaded, so you want to run one process per node
|
||||
* The code will work correctly as long as union of each column subset is all the columns we are interested in.
|
||||
- The column subset can overlap with each other.
|
||||
* It uses exactly the same algorithm as single node version, to examine all potential split points.
|
||||
|
||||
@@ -17,6 +17,6 @@ k=$1
|
||||
python splitsvm.py ../../demo/data/agaricus.txt.train train $k
|
||||
|
||||
# run xgboost mpi
|
||||
../submit_job_tcp.py $k python mushroom-col.py
|
||||
../../rabit/tracker/rabit_mpi.py $k local python mushroom-col.py
|
||||
|
||||
cat dump.nice.$k.txt
|
||||
|
||||
@@ -16,13 +16,13 @@ k=$1
|
||||
python splitsvm.py ../../demo/data/agaricus.txt.train train $k
|
||||
|
||||
# run xgboost mpi
|
||||
../submit_job_tcp.py $k ../../xgboost mushroom-col.conf dsplit=col
|
||||
../../rabit/tracker/rabit_mpi.py $k local ../../xgboost mushroom-col.conf dsplit=col
|
||||
|
||||
# the model can be directly loaded by single machine xgboost solver, as usuall
|
||||
../../xgboost mushroom-col.conf task=dump model_in=0002.model fmap=../../demo/data/featmap.txt name_dump=dump.nice.$k.txt
|
||||
|
||||
# run for one round, and continue training
|
||||
../submit_job_tcp.py $k ../../xgboost mushroom-col.conf dsplit=col num_round=1
|
||||
../submit_job_tcp.py $k ../../xgboost mushroom-col.conf dsplit=col model_in=0001.model
|
||||
../../rabit/tracker/rabit_mpi.py $k local ../../xgboost mushroom-col.conf dsplit=col num_round=1
|
||||
../../rabit/tracker/rabit_mpi.py $k local ../../xgboost mushroom-col.conf mushroom-col.conf dsplit=col model_in=0001.model
|
||||
|
||||
cat dump.nice.$k.txt
|
||||
cat dump.nice.$k.txt
|
||||
@@ -1,6 +1,10 @@
|
||||
import os
|
||||
import sys
|
||||
sys.path.append(os.path.dirname(__file__)+'/../wrapper')
|
||||
path = os.path.dirname(__file__)
|
||||
if path == '':
|
||||
path = '.'
|
||||
sys.path.append(path+'/../../wrapper')
|
||||
|
||||
import xgboost as xgb
|
||||
# this is example script of running distributed xgboost using python
|
||||
|
||||
|
||||
Reference in New Issue
Block a user