All Projects → moemen95 → Pytorch Project Template

moemen95 / Pytorch Project Template

Licence: mit
A scalable template for PyTorch projects, with examples in Image Segmentation, Object classification, GANs and Reinforcement Learning.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pytorch Project Template

Pytorch-conditional-GANs
Implementation of Conditional Generative Adversarial Networks in PyTorch
Stars: ✭ 91 (-83.66%)
Mutual labels:  dcgan, pytorch-tutorial
Pytorch Tutorial
PyTorch Tutorial for Deep Learning Researchers
Stars: ✭ 22,442 (+3929.08%)
Mutual labels:  pytorch-tutorial
Kind Pytorch Tutorial
Kind PyTorch Tutorial for beginners
Stars: ✭ 377 (-32.32%)
Mutual labels:  pytorch-tutorial
Deepnude An Image To Image Technology
DeepNude's algorithm and general image generation theory and practice research, including pix2pix, CycleGAN, UGATIT, DCGAN, SinGAN, ALAE, mGANprior, StarGAN-v2 and VAE models (TensorFlow2 implementation). DeepNude的算法以及通用生成对抗网络(GAN,Generative Adversarial Network)图像生成的理论与实践研究。
Stars: ✭ 4,029 (+623.34%)
Mutual labels:  dcgan
Daily Deeplearning
🔥机器学习/深度学习/Python/算法面试/自然语言处理教程/剑指offer/machine learning/deeplearning/Python/Algorithm interview/NLP Tutorial
Stars: ✭ 381 (-31.6%)
Mutual labels:  pytorch-tutorial
Aigames
use AI to play some games.
Stars: ✭ 422 (-24.24%)
Mutual labels:  dqn
First Steps Towards Deep Learning
This is an open sourced book on deep learning.
Stars: ✭ 376 (-32.5%)
Mutual labels:  pytorch-tutorial
Deep Learning With Pytorch Chinese
本仓库将PyTorch官方书籍《Deep learning with PyTorch》(基本摘录版)翻译成中文版并给出可运行的相关代码。
Stars: ✭ 517 (-7.18%)
Mutual labels:  pytorch-tutorial
Mushroom Rl
Python library for Reinforcement Learning.
Stars: ✭ 442 (-20.65%)
Mutual labels:  dqn
Deep Rl Keras
Keras Implementation of popular Deep RL Algorithms (A3C, DDQN, DDPG, Dueling DDQN)
Stars: ✭ 395 (-29.08%)
Mutual labels:  dqn
Pytorch Rl
This repository contains model-free deep reinforcement learning algorithms implemented in Pytorch
Stars: ✭ 394 (-29.26%)
Mutual labels:  dqn
Transformers Tutorials
Github repo with tutorials to fine tune transformers for diff NLP tasks
Stars: ✭ 384 (-31.06%)
Mutual labels:  pytorch-tutorial
Reinforcement Learning Algorithms
This repository contains most of pytorch implementation based classic deep reinforcement learning algorithms, including - DQN, DDQN, Dueling Network, DDPG, SAC, A2C, PPO, TRPO. (More algorithms are still in progress)
Stars: ✭ 426 (-23.52%)
Mutual labels:  dqn
Deep Reinforcement Learning
Repo for the Deep Reinforcement Learning Nanodegree program
Stars: ✭ 4,012 (+620.29%)
Mutual labels:  dqn
Mimicry
[CVPR 2020 Workshop] A PyTorch GAN library that reproduces research results for popular GANs.
Stars: ✭ 458 (-17.77%)
Mutual labels:  dcgan
Dcgan Lsgan Wgan Gp Dragan Tensorflow 2
DCGAN LSGAN WGAN-GP DRAGAN Tensorflow 2
Stars: ✭ 373 (-33.03%)
Mutual labels:  dcgan
Igan
Interactive Image Generation via Generative Adversarial Networks
Stars: ✭ 3,845 (+590.31%)
Mutual labels:  dcgan
Tensorflow Tutorial
Tensorflow tutorial from basic to hard, 莫烦Python 中文AI教学
Stars: ✭ 4,122 (+640.04%)
Mutual labels:  dqn
Video Classification
Tutorial for video classification/ action recognition using 3D CNN/ CNN+RNN on UCF101
Stars: ✭ 543 (-2.51%)
Mutual labels:  pytorch-tutorial
Tf.gans Comparison
Implementations of (theoretical) generative adversarial networks and comparison without cherry-picking
Stars: ✭ 477 (-14.36%)
Mutual labels:  dcgan

PyTorch Project Template is being sponsored by the following tool; please help to support us by taking a look and signing up to a free trial

“GitAds”/

PyTorch Project Template

Implement your PyTorch projects the smart way.

A Scalable template for PyTorch projects, with examples in Image Segmentation, Object classification, GANs and Reinforcement Learning.

Given the nature of deep learning projects, we do not get the chance to think much about the project structure or the code modularity. After working with different deep learning projects and facing problems with files organization and code repetition, we came up with a modular project structure to accommodate any PyTorch project. We also wanted to provide a base for different PyTorch models for the community to build upon.

This is a joint work between Hager Rady and Mo'men AbdelRazek

Table of Contents:

Why this template?

We are proposing a baseline for any PyTorch project to give you a quick start, where you will get the time to focus on your model's implementation and we will handle the rest. The novelty of this approach lies in:

  • Providing a scalable project structure, with a template file for each.
  • Introducing the usage of a config file that handle all the hyper-parameters related to a certain problem.
  • Embedding examples from various problems inside the template, where you can run any of them independently with a single change in the config file name.
  • Tutorials to get you started.

Tutorials:

We are providing a series of tutorials to get your started

  • Getting Started Tutorial: where we provide a guide on the main steps to get started on your project.
  • Mnist Tutorial: Here we take an already implemented NN model on Mnist and adapt it to our template structure.

Contribution:

  • We want this template to be a central place for many variations of the well-known PyTorch Deep learning models.
  • We are welcoming any contribution from the community that will make this come true so we urge people to add their PyTorch models into the template.
  • We are also welcoming any proposed changes or discussions about the class design pattern used in this project.

Template Class Diagram:

alt text

Referenced Repos:

  1. ERFNet: A model for Semantic Segmentation, trained on Pascal Voc
  2. DCGAN: Deep Convolutional Generative Adverserial Networks, run on CelebA dataset.
  3. CondenseNet: A model for Image Classification, trained on Cifar10 dataset
  4. DQN: Deep Q Network model, a Reinforcement Learning example, tested on CartPole-V0

Repos Migration Summary:

  1. We started by DCGAN, adding its custom configs into the json file. DCGAN has both generator and discriminator model so it doesn't have a single model file.
  2. Then, we added CondenseNet, where it was necessary to create a custom blocks folder inside the models folder to include the definitions for custom layers within the model.
  3. After that, we added the DQN project, where all the classes related to the environment have been added to the utils. We also added the action selection and model optimization into the training agent.
  4. ERFNet was the last example to join the template; agent, model and utils have been added to their folders with no conflicts.

This is to ensure that our proposed project structure is compatible with different problems and can handle all the variations related to any of them.

Repo Structure:

After adding all our examples, the repo has the following structure:

├── agents
|  └── dcgan.py
|  └── condensenet.py
|  └── mnist.py
|  └── dqn.py
|  └── example.py
|  └── base.py
|  └── erfnet.py
|
├── configs
|  └── dcgan_exp_0.py
|  └── condensenet_exp_0.py
|  └── mnist_exp_0.py
|  └── dqn_exp_0.py
|  └── example_exp_0.py
|  └── erfnet_exp_0.py
|
├── data
|
├── datasets
|  └── cifar10.py
|  └── celebA.py
|  └── mnist.py
|  └── example.py
|  └── voc2012.py
|
├── experiments
|
├── graphs
|  └── models
|  |  └── custome_layers
|  |  |  └── denseblock.py
|  |  |  └── layers.py
|  |  |
|  |  └── dcgan_discriminator.py
|  |  └── dcgan_generator.py
|  |  └── erfnet.py
|  |  └── erfnet_imagenet.py
|  |  └── condensenet.py
|  |  └── mnist.py
|  |  └── dqn.py
|  |  └── example.py
|  |
|  └── losses
|  |  └── loss.py
|
├── pretrained_weights
|
├── tutorials
|
├── utils
|  └── assets
|
├── main.py
└── run.sh

Requirements:

easydict==1.7
graphviz==0.8.4
gym==0.10.5
imageio==2.3.0
matplotlib==2.2.2
numpy==1.14.5
Pillow==5.2.0
scikit-image==0.14.0
scikit-learn==0.19.1
scipy==1.1.0
tensorboardX==1.2
torch==0.4.0
torchvision==0.2.1
tqdm==4.23.4

Future Work:

We are planning to add more examples into our template to include various categories of problems. Next we are going to include the following:

License:

This project is licensed under MIT License - see the LICENSE file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].