• Stars
    star
    149
  • Rank 248,619 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created about 7 years ago
  • Updated about 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PyTorch implementation of "Continual Learning with Deep Generative Replay", NIPS 2017

pytorch-deep-generative-replay

PyTorch implementation of Continual Learning with Deep Generative Replay, NIPS 2017

model

Results

Continual Learning on Permutated MNISTs

  • Test precisions without replay (left), with exact replay (middle), and with Deep Generative Replay (right).

Continual Learning on MNIST-SVHN

  • Test precisions without replay (left), with exact replay (middle), and with Deep Generative Replay (right).

  • Generated samples from the scholar trained without any replay (left) and with Deep Generative Replay (right).

  • Training scholar's generator without replay (left) and with Deep Generative Replay (right).

Continual Learning on SVHN-MNIST

  • Test precisions without replay (left), with exact replay (middle), and with Deep Generative Replay (right).

  • Generated samples from the scholar trained without replay (left) and with Deep Generative Replay (right).

  • Training scholar's generator without replay (left) and with Deep Generative Replay (right).

Installation

$ git clone https://github.com/kuc2477/pytorch-deep-generative-replay
$ pip install -r pytorch-deep-generative-replay/requirements.txt

Commands

Usage

$ ./main.py --help
$ usage: PyTorch implementation of Deep Generative Replay [-h]
                                                          [--experiment {permutated-mnist,svhn-mnist,mnist-svhn}]
                                                          [--mnist-permutation-number MNIST_PERMUTATION_NUMBER]
                                                          [--mnist-permutation-seed MNIST_PERMUTATION_SEED]
                                                          --replay-mode
                                                          {exact-replay,generative-replay,none}
                                                          [--generator-z-size GENERATOR_Z_SIZE]
                                                          [--generator-c-channel-size GENERATOR_C_CHANNEL_SIZE]
                                                          [--generator-g-channel-size GENERATOR_G_CHANNEL_SIZE]
                                                          [--solver-depth SOLVER_DEPTH]
                                                          [--solver-reducing-layers SOLVER_REDUCING_LAYERS]
                                                          [--solver-channel-size SOLVER_CHANNEL_SIZE]
                                                          [--generator-c-updates-per-g-update GENERATOR_C_UPDATES_PER_G_UPDATE]
                                                          [--generator-iterations GENERATOR_ITERATIONS]
                                                          [--solver-iterations SOLVER_ITERATIONS]
                                                          [--importance-of-new-task IMPORTANCE_OF_NEW_TASK]
                                                          [--lr LR]
                                                          [--weight-decay WEIGHT_DECAY]
                                                          [--batch-size BATCH_SIZE]
                                                          [--test-size TEST_SIZE]
                                                          [--sample-size SAMPLE_SIZE]
                                                          [--image-log-interval IMAGE_LOG_INTERVAL]
                                                          [--eval-log-interval EVAL_LOG_INTERVAL]
                                                          [--loss-log-interval LOSS_LOG_INTERVAL]
                                                          [--checkpoint-dir CHECKPOINT_DIR]
                                                          [--sample-dir SAMPLE_DIR]
                                                          [--no-gpus]
                                                          (--train | --test)

To Run Full Experiments

# Run a visdom server and conduct full experiments
$ python -m visdom.server &
$ ./run_full_experiments

To Run a Single Experiment

# Run a visdom server and conduct a desired experiment
$ python -m visdom.server &
$ ./main.py --train --experiment=[permutated-mnist|svhn-mnist|mnist-svhn] --replay-mode=[exact-replay|generative-replay|none]

To Generate Images from the learned Scholar

$ # Run the command below and visit the "samples" directory
$ ./main.py --test --experiment=[permutated-mnist|svhn-mnist|mnist-svhn] --replay-mode=[exact-replay|generative-replay|none]

Note

  • I failed to find the supplementary materials that the authors mentioned in the paper to contain the experimental details. Thus, I arbitrarily chose a 4-convolutional-layer CNN as a solver in this project. If you know where I can find the additional materials, please let me know through the project's Github issue.

Reference

Author

Ha Junsoo / @kuc2477 / MIT License

More Repositories

1

pytorch-ewc

Unofficial PyTorch implementation of DeepMind's PNAS 2017 paper "Overcoming Catastrophic Forgetting"
Python
242
star
2

pytorch-vae

PyTorch implementation of "Auto-Encoding Variational Bayes", arxiv:1312.6114
Python
46
star
3

pytorch-wgan-gp

PyTorch implementation of "Improved Training of Wasserstein GANs", arxiv:1704.00028
Python
27
star
4

pytorch-splitnet

PyTorch implementation of ICML 2017 paper, SplitNet: Learning to Semantically Split Deep Networks for Parameter Reduction and Model Parallelization
Python
17
star
5

dl-papers

πŸ“ Deep Learning papers that enlightened me
Shell
12
star
6

pytorch-memn2n

PyTorch implementation of FAIR's paper "End-to-End Memory Network", NIPS 2015
Python
11
star
7

la-dynamics-in-games

Jupyter Notebook
8
star
8

backbone.csrf

Configure X-CSRFToken header for all Backbone sync requests
JavaScript
6
star
9

pytorch-ntm

PyTorch implementation of DeepMind's paper "Neural Turing Machines", arxiv:1410.5401
Python
4
star
10

dotfiles

πŸ’» My dotfiles for UNIX like systems
Shell
4
star
11

tensorflow-infogan

TensorFlow implementation of "InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets", NIPS 2016
Python
4
star
12

oracle

였늘 λ‹Ήμ‹ μ˜ 상사가 μΆœκ·Όν•  지, 신탁을 λ‚΄λ €λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€
Python
3
star
13

zarathustra-quotes

Inspiring quotes from Nietzsche's notorious 'Thus Spoke Zarathustra'
2
star
14

anchor-frontend-pc

anchor pc client
JavaScript
2
star
15

pytorch-wrn

PyTorch implementation of "Wide Residual Networks", BMVC 2016
Python
2
star
16

django-record

Create snapshot record for an instance when it has been changed either directly or indirectly
Python
2
star
17

news

πŸ“° Asynchronous web subscription engine
Python
2
star
18

dom-ged-genetic-approximator

DOM tree graph edit distance approximator implemented with genetic algorithm
Python
1
star
19

naver-unse

Haskell wrapper of unofficial Naver daily fortune telling API
Haskell
1
star
20

vim-guerilla

Minimal, lightweight cross platform vim configuration for guerilla devs
Vim Script
1
star