PyTorch implementation of PathNet: Evolution Channels Gradient Descent in Super Neural Networks. "It is a neural network algorithm that uses agents embedded in the neural network whose task is to discover which parts of the network to re-use for new tasks".
Currently implemented binary MNIST task and CIFAR & cropped SVHN classification task.
- Python 2.7
- numpy
- matplotlib
- networkx
- python-mnist
- pytorch
Install prerequisites:
$ apt-get install python-numpy python-matplotlib
$ pip install python-mnist networkx
And install pytorch: See http://pytorch.org/.
Run with command:
$ python main.py
If you want to repeat experiment:
$ ./repeat_experiment.sh
To check the result:
$ python plotter.py
- Learning rate is changed from 0.0001(paper) to 0.01.
Transfer learning of CIFAR10 -> cropped SVHN recorded higher accuracy than cropped SVHN classification accuracy solely (41.5% -> 51.8%, Second figure).