/DeepLearningMadeEasy

Examples to start working in deep learning (DL), a subfield of machine learning (ML).

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

Deep Learning Made Easy

This repository provides examples for those who want to start working in deep learning (DL), a subfield of machine learning (ML).

Convolutional Neural Networks (CNNs)

The following CNNs are available:

  • PyTorch_MNIST: Google Colab's notebook for the handwritten digit classification problem based on the classical Modified National Institute of Standards and Technology (MNIST) database. It uses three neural networks to address this problem: SNN500 by Aviv Shamsian, CNN3L by Nutan, and LeNet-5 by Bolla Karthikeya;
  • PyTorch_MNIST_Profiler: Google Colab's notebook related to the handwritten digit classification problem based on the classical MNIST database. Hovewer, its goal is to address performance bottlenecks of the network/model via the TensorBoard Plugin with PyTorch Profiler. Hence, it will not cover the classification task completely. It uses the same three neural networks of the PyTorch_MNIST notebook;
  • PyTorch_CIFAR-10: Google Colab's notebook for the image classification problem based on the classical CIFAR-10 database. It is a modification of the Training a Classifier PyTorch tutorial. It uses two neural networks to address this problem: CNN3L by Nutan and LeNet-5 presented in the Training a Classifier tutorial;
  • PyTorch_CIFAR-10_Profiler: Google Colab's notebook related to the image classification problem based on the classical CIFAR-10 database. Hovewer, its goal is to address performance bottlenecks of the network/model via the TensorBoard Plugin with PyTorch Profiler. Hence, it will not cover the classification task completely. It uses same two neural networks of the PyTorch_CIFAR-10 notebook;
  • PyTorch_VGG_ResNet_VGGout: It shows how easy is to create "new" deep neural networks (DNNs) by changing a few lines of code of previously proposed models. New networks: VGG12BN, ResNet-14. The output is due to the execution of VGG12BN;
  • PyTorch_VGG_ResNet_ResNetout: Same previous notebook but with the output of ResNet-14;
  • PyTorch_DenseNet: It shows how easy is to create "new" deep neural networks (DNNs) by changing a few lines of code of previously proposed models. New network: DenseNet-83;
  • PyTorch_TransferLayer: This notebook shows how to use transfer learning (TL) within a supervised context. The TL technique is fine-tuning the deep convolutional neural network (CNN). We considered six pretrained models: ResNet-18, ResNet-34, DenseNet-121, DenseNet-161, GoogLeNet, and Inception-v3;
  • PyTorch_U-Net: This notebook is about semantic segmentation via U-Net. Important. This notebook was developed by the Albumentations Team and a few modifications have been done by Valdivino Alexandre de Santiago Júnior. If you want to use Albumentations in your study, please cite their article;
  • PyTorch_Mask R-CNN: This notebook is about instance segmentation via Mask R-CNN. Important. This notebook was developed by Erdene-Ochir Tuguldur and a few modifications have been done by Valdivino Alexandre de Santiago Júnior.

Generative Adversarial Networks (GANs)

The following GANs are available:

Explainable Artificial Intelligence (XAI)

The following notebook is available:

Datasets

The following datasets are required to download into Google Drive so that some notebooks can work properly:

Author

Valdivino Alexandre de Santiago Júnior

Licence

This project is licensed under the GNU GENERAL PUBLIC LICENSE, Version 3 (GPLv3) - see the LICENSE.md file for details.

Cite

Please cite this repository if you use it as:

V. A. Santiago Júnior. Deep Leaning Made Easy, 2021. Acessed on: date of access. Available: https://github.com/vsantjr/DeepLearningMadeEasy.