change allreduce lib to rabit library, xgboost now run with rabit

This commit is contained in:
tqchen
2014-12-20 00:17:09 -08:00
parent 5ae99372d6
commit 8e16cc4617
28 changed files with 105 additions and 1206 deletions

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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