Skip to content

Latest commit

 

History

History

MNIST

MNIST Tutorial

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:

  1. Build parameter server
git clone https://github.com/mli/parameter_server
cd parameter_server
./script/install_third.sh
make ps -j8
  1. 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

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

  1. it quite stuped to specify MNIST.conf twice
  2. support multiple workers: each worker get a part of data, and print nicely