add mocktest
This commit is contained in:
parent
d2f252f87a
commit
581fe06a9b
@ -1,6 +1,6 @@
|
||||
# specify tensor path
|
||||
BIN = linear.rabit
|
||||
MOCKBIN=
|
||||
MOCKBIN= linear.mock
|
||||
MPIBIN =
|
||||
# objectives that makes up rabit library
|
||||
OBJ = linear.o
|
||||
@ -11,3 +11,4 @@ CFLAGS+=-fopenmp
|
||||
linear.o: linear.cc ../../src/*.h linear.h ../solver/*.h
|
||||
# dependenies here
|
||||
linear.rabit: linear.o lib
|
||||
linear.mock: linear.o lib
|
||||
|
||||
@ -8,6 +8,10 @@ Parameters
|
||||
All the parameters can be set by param=value
|
||||
|
||||
#### Important Parameters
|
||||
* objective [default = logistic]
|
||||
- can be linear or logistic
|
||||
* base_score [default = 0.5]
|
||||
- global bias, recommended set to mean value of label
|
||||
* reg_L1 [default = 0]
|
||||
- l1 regularization co-efficient
|
||||
* reg_L2 [default = 1]
|
||||
|
||||
15
rabit-learn/linear/run-linear-mock.sh
Executable file
15
rabit-learn/linear/run-linear-mock.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
if [[ $# -lt 1 ]]
|
||||
then
|
||||
echo "Usage: nprocess"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
rm -rf mushroom.row* *.model
|
||||
k=$1
|
||||
|
||||
# split the lib svm file into k subfiles
|
||||
python splitrows.py ../data/agaricus.txt.train mushroom $k
|
||||
|
||||
# run xgboost mpi
|
||||
../../tracker/rabit_demo.py -n $k linear.mock mushroom.row\%d "${*:2}" reg_L1=1 mock=0,1,1,0 mock=1,1,1,0 mock=0,2,1,1
|
||||
@ -119,7 +119,9 @@ class LBFGSSolver {
|
||||
int version = rabit::LoadCheckPoint(&gstate, &hist);
|
||||
if (version == 0) {
|
||||
gstate.num_dim = gstate.obj->InitNumDim();
|
||||
}
|
||||
} else {
|
||||
printf("restart from version=%d\n", version);
|
||||
}
|
||||
{
|
||||
// decide parameter partition
|
||||
size_t nproc = rabit::GetWorldSize();
|
||||
@ -216,7 +218,7 @@ class LBFGSSolver {
|
||||
int n = static_cast<int>(hist.num_useful());
|
||||
if (n < m) {
|
||||
utils::Assert(hist.num_useful() == gstate.num_iteration,
|
||||
"BUG2");
|
||||
"BUG2, n=%d, it=%d", n, gstate.num_iteration);
|
||||
} else {
|
||||
utils::Assert(n == m, "BUG3");
|
||||
}
|
||||
@ -592,7 +594,10 @@ class LBFGSSolver {
|
||||
}
|
||||
// load the shift array
|
||||
virtual void Load(rabit::IStream &fi) {
|
||||
fi.Read(this, sizeof(size_t) * 4);
|
||||
fi.Read(&num_col_, sizeof(num_col_));
|
||||
fi.Read(&stride_, sizeof(stride_));
|
||||
fi.Read(&size_memory_, sizeof(size_memory_));
|
||||
fi.Read(&num_useful_, sizeof(num_useful_));
|
||||
this->Init(num_col_, size_memory_);
|
||||
for (size_t i = 0; i < num_useful_; ++i) {
|
||||
fi.Read((*this)[i], num_col_ * sizeof(DType));
|
||||
@ -601,7 +606,10 @@ class LBFGSSolver {
|
||||
}
|
||||
// save the shift array
|
||||
virtual void Save(rabit::IStream &fi) const {
|
||||
fi.Write(this, sizeof(size_t) * 4);
|
||||
fi.Write(&num_col_, sizeof(num_col_));
|
||||
fi.Write(&stride_, sizeof(stride_));
|
||||
fi.Write(&size_memory_, sizeof(size_memory_));
|
||||
fi.Write(&num_useful_, sizeof(num_useful_));
|
||||
for (size_t i = 0; i < num_useful_; ++i) {
|
||||
fi.Write((*this)[i], num_col_ * sizeof(DType));
|
||||
fi.Write((*this)[i + size_memory_], num_col_ * sizeof(DType));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user