kimhc6028 / pathnet-pytorch

PyTorch implementation of PathNet: Evolution Channels Gradient Descent in Super Neural Networks
BSD 3-Clause "New" or "Revised" License
80 stars 18 forks source link
agi pathnet python pytorch transfer-learning

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. Alt text

Requirements

Usage

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

Modifications

Result

Transfer learning of CIFAR10 -> cropped SVHN recorded higher accuracy than cropped SVHN classification accuracy solely (41.5% -> 51.8%, Second figure).

Alt text