License: MIT GitHub forks GitHub stars PRs Welcome

Deep Learning with Python (Website)

Collection of a variety of Deep Learning (DL) code examples, tutorial-style Jupyter notebooks, and projects.

Quite a few of the Jupyter notebooks are built on Google Colab and may employ special functions exclusive to Google Colab (for example uploading data or pulling data directly from a remote repo using standard Linux commands).

Here is the Github Repo.


Authored and maintained by Dr. Tirthajyoti Sarkar (Website, LinkedIn profile)


Requirements

NOTE: Most of the Jupyter notebooks in this repo are built on Google Colaboratory using Google GPU cluster and a virtual machine. Therefore, you may not need to install these packages on your local machine if you also want to use Google colab. You can directly launch the notebooks in your Google colab environment by clicking on the links provided in the notebooks (of course, that makes a copy of my notebook on to your Google drive).

For more information about using Google Colab for your deep learning work, check their FAQ here.


Utility modules

Utility module for example notebooks

I created a utility function file called DL_utils.py in the utils directory under Notebooks. We use functions from this module whenever possible in the Jupyter notebooks.

You can download the module (raw Python file) from here: DL-Utility-Module

General-purpose regression module (for tabular dataset)

I also implemented a general-purpose trainer module (NN_trainer.py) for regression task with tabular datasets. The idea is that you can simply read a dataset (e.g. a CSV file), choose the input and target variables, build a densely-connected neural net, train, and predict. The module gives you back a prediction function (trained) which can be used for any further prediction, analytics, or optimization task.

Check out the module here and an example notebook here.

Notebooks

Deep learning vs. linear model

Demo of a general-purpose regression module

Simple Conv Net

Using Keras ImageDataGenerator and other utilities

Transfer learning

Activation maps

Adding object-oriented programming style to deep learning workflow

Keras Callbacks using ResNet

Simple RNN

Text generation using LSTM

Bi-directional LSTM for sentiment classification

Generative adversarial network (GAN)

Scikit-learn wrapper for Keras