add mocktest
This commit is contained in:
parent
d2f252f87a
commit
581fe06a9b
@ -1,6 +1,6 @@
|
|||||||
# specify tensor path
|
# specify tensor path
|
||||||
BIN = linear.rabit
|
BIN = linear.rabit
|
||||||
MOCKBIN=
|
MOCKBIN= linear.mock
|
||||||
MPIBIN =
|
MPIBIN =
|
||||||
# objectives that makes up rabit library
|
# objectives that makes up rabit library
|
||||||
OBJ = linear.o
|
OBJ = linear.o
|
||||||
@ -11,3 +11,4 @@ CFLAGS+=-fopenmp
|
|||||||
linear.o: linear.cc ../../src/*.h linear.h ../solver/*.h
|
linear.o: linear.cc ../../src/*.h linear.h ../solver/*.h
|
||||||
# dependenies here
|
# dependenies here
|
||||||
linear.rabit: linear.o lib
|
linear.rabit: linear.o lib
|
||||||
|
linear.mock: linear.o lib
|
||||||
|
|||||||
@ -8,6 +8,10 @@ Parameters
|
|||||||
All the parameters can be set by param=value
|
All the parameters can be set by param=value
|
||||||
|
|
||||||
#### Important Parameters
|
#### 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]
|
* reg_L1 [default = 0]
|
||||||
- l1 regularization co-efficient
|
- l1 regularization co-efficient
|
||||||
* reg_L2 [default = 1]
|
* 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);
|
int version = rabit::LoadCheckPoint(&gstate, &hist);
|
||||||
if (version == 0) {
|
if (version == 0) {
|
||||||
gstate.num_dim = gstate.obj->InitNumDim();
|
gstate.num_dim = gstate.obj->InitNumDim();
|
||||||
}
|
} else {
|
||||||
|
printf("restart from version=%d\n", version);
|
||||||
|
}
|
||||||
{
|
{
|
||||||
// decide parameter partition
|
// decide parameter partition
|
||||||
size_t nproc = rabit::GetWorldSize();
|
size_t nproc = rabit::GetWorldSize();
|
||||||
@ -216,7 +218,7 @@ class LBFGSSolver {
|
|||||||
int n = static_cast<int>(hist.num_useful());
|
int n = static_cast<int>(hist.num_useful());
|
||||||
if (n < m) {
|
if (n < m) {
|
||||||
utils::Assert(hist.num_useful() == gstate.num_iteration,
|
utils::Assert(hist.num_useful() == gstate.num_iteration,
|
||||||
"BUG2");
|
"BUG2, n=%d, it=%d", n, gstate.num_iteration);
|
||||||
} else {
|
} else {
|
||||||
utils::Assert(n == m, "BUG3");
|
utils::Assert(n == m, "BUG3");
|
||||||
}
|
}
|
||||||
@ -592,7 +594,10 @@ class LBFGSSolver {
|
|||||||
}
|
}
|
||||||
// load the shift array
|
// load the shift array
|
||||||
virtual void Load(rabit::IStream &fi) {
|
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_);
|
this->Init(num_col_, size_memory_);
|
||||||
for (size_t i = 0; i < num_useful_; ++i) {
|
for (size_t i = 0; i < num_useful_; ++i) {
|
||||||
fi.Read((*this)[i], num_col_ * sizeof(DType));
|
fi.Read((*this)[i], num_col_ * sizeof(DType));
|
||||||
@ -601,7 +606,10 @@ class LBFGSSolver {
|
|||||||
}
|
}
|
||||||
// save the shift array
|
// save the shift array
|
||||||
virtual void Save(rabit::IStream &fi) const {
|
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) {
|
for (size_t i = 0; i < num_useful_; ++i) {
|
||||||
fi.Write((*this)[i], num_col_ * sizeof(DType));
|
fi.Write((*this)[i], num_col_ * sizeof(DType));
|
||||||
fi.Write((*this)[i + size_memory_], num_col_ * sizeof(DType));
|
fi.Write((*this)[i + size_memory_], num_col_ * sizeof(DType));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user