/TensorMONK

A collection of deep learning models (PyTorch implemtation)

Primary LanguagePythonMIT LicenseMIT

TensorMONK

A collection of deep learning architectures (a PyTorch implementation).

Dependencies

  • python >= 3.6
  • PyTorch > 1.3
  • torchvision
  • visdom

Training models on 2012 ImageNet recognition task

If you have more nvidia cards & cores available, adjust the batch size (BSZ), number of GPUs (gpus), & number of threads (cpus) accordingly in the ./ImageNet.sh. Next, select an available architecture and update your train & validation folder location (trainDataPath and testDataPath). Finally, run ./ImageNet.sh.

Training CapsuleNet on MNIST

To replicate Hinton's paper on MNIST, run the following:

python Capsule.py -A capsule -B 256 -E 500 --optimizer adam --gpus 2 --cpus 6 --trainDataPath ./data --testDataPath ./data --replicate_paper

Ignore the replicate_paper argument to create a deep architecture (with few residual blocks before primary capsule). You can essentially add any block available in NeuralLayers to create a deeper architecture, which is followed by a primary capsule and secondary capsule. However, do consider two things 1. if you do reconstruction, update the reconstruction network relative to tensor_size, 2. capsule nets do require a good amount of gpu ram.

Generative Adversarial Networks

Trained on CIFAR10 (pggan-cifar10.py) -- requires more training (more gpus)!

Generator at 4x4 Generator at 8x8 Generator at 16x16 Generator at 32x32

References

Activation Functions

Classification

Generative Models

Image Recognition Models

Image Segmentation Models

Local Features

Loss Functions

Object Detection Models

Optimizer

Regularizations