Reference Wiki: https://github.com/antinucleon/cxxnet/wiki/tutorial
This tutorial contails basic configuration of feed forward netural network and convolution neural network on MNIST data set.
For detailed explanation please refer the wiki.
With distributed parameter server:
- Build parameter server
git clone https://github.com/mli/parameter_server
cd parameter_server
./script/install_third.sh
make ps -j8
- Build cxxnet with parameter server
git clone https://github.com/antinucleon/cxxnet -b V2-refactor
cd cxxnet
git clone https://github.com/tqchen/mshadow.git -b refactor
cd ..
cp make/config.mk .
sed -i.bak "s/USE_DIST_PS.*/USE_DIST_PS = 1/g" config.mk
make -j8
You can also place cxxnet at any other place, then you need to change PS_PATH
in config.mk
- Run with 1 worker and 2 servers:
../../../script/local.sh ../../bin/cxxnet.ps 2 1 MNIST.conf -app_file MNIST.conf update_on_server=1 param_server=dist
- Run with 2 workers and 2 servers:
../../../script/local.sh ../../bin/cxxnet.ps 2 2 MNIST.conf -app_file MNIST.conf update_on_server=1 param_server=dist silent=1
TODO
- it quite stuped to specify MNIST.conf twice
- support multiple workers: each worker get a part of data, and print nicely