• Stars
    star
    343
  • Rank 120,774 (Top 3 %)
  • Language
    Jupyter Notebook
  • License
    MIT License
  • Created almost 5 years ago
  • Updated over 3 years ago

Reviews

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

Repository Details

Deep learning codes and projects using Python

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).
Here is my LinkedIn profile


Requirements

  • Python 3.6+
  • NumPy (pip install numpy)
  • Pandas (pip install pandas)
  • MatplotLib (pip install matplotlib)
  • Tensorflow (pip install tensorflow or pip install tensorflow-gpu)

Of course, to use a local GPU correctly, you need to do lot more work setting up proper GPU driver and CUDA installation.
If you are using Ubuntu 18.04, here is a guide.
If you are on Windows 10, here is a guide
It is also highly recommended to install GPU version in a separate virtual environment, so as to not mess up the default system install.

  • Keras (pip install keras)

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

  • We show a nonlinear function approximation task performed by linear model (polynomial degree) and a simple 1/2 hidden layer (densely connected) neural net to illustrate the difference and the capacity of deep neural nets to take advantage of larger datasets (Here is the Notebook).

Demo of a general-purpose regression module

  • We implemented a general-purpose trainer module 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, predict, and save the model for deployment. This the demo notebook for that module (Here is the Notebook).

Simple Conv Net

Using Keras ImageDataGenerator and other utilities

  • Horse or human image classification using Keras ImageDataGenerator and Google colaboratory platform. (Here is the Notebook)

  • Classification on the flowers dataset and the famous Caltech-101 dataset using fit_generator and flow_from_directory() method of the ImageDataGenerator. Illustrates how to streamline CNN model building from a single storage of image data using these utility methods. (Here is the Notebook)

Transfer learning

Activation maps

  • We illustrate how to show the activation maps of various layers in a deep CNN model with just a couple of lines of code using Keract library. (Here is the Notebook)

Adding object-oriented programming style to deep learning workflow

Keras Callbacks using ResNet

  • ResNet on CIFAR-10 dataset, showing how to use Keras Callbacks classes like ModelCheckpoint, LearningRateScheduler, and ReduceLROnPlateau. You can also change a single parameter to generate ResNet of various depths. (Here is the Notebook).

Simple RNN

  • Time series prediction using simple RNN (a single RNN layer followed by a densely connected layer). We show that a complicated time-series signal is correctly predicted by a simple RNN even when trained with only 25% of the data. (Here is the Notebook)

Text generation using LSTM

  • Automatic text generation (based on simple character vectors) using LSTM network. Play with character sequence length, LSTM architecture, and hyperparameters to generate synthetic texts based on a particular author's style! (Here is the Notebook).

Bi-directional LSTM for sentiment classification

Generative adversarial network (GAN)

  • Simple demo of building a GAN model from scratch using a one-dimensional algebraic function (Here is the Notebook)

Scikit-learn wrapper for Keras

More Repositories

1

Machine-Learning-with-Python

Practice and tutorial-style notebooks covering wide variety of machine learning techniques
Jupyter Notebook
3,016
star
2

Data-science-best-resources

Carefully curated resource links for data science in one place
2,798
star
3

Papers-Literature-ML-DL-RL-AI

Highly cited and useful papers related to machine learning, deep learning, AI, game theory, reinforcement learning
2,224
star
4

Stats-Maths-with-Python

General statistics, mathematical programming, and numerical/scientific computing scripts and notebooks in Python
Jupyter Notebook
793
star
5

Spark-with-Python

Fundamentals of Spark with Python (using PySpark), code examples
Jupyter Notebook
324
star
6

pydbgen

Random dataframe and database table generator
Python
297
star
7

Web-Database-Analytics

Web scrapping and related analytics using Python tools
Jupyter Notebook
263
star
8

UCI-ML-API

Simple API for UCI Machine Learning Dataset Repository (search, download, analyze)
Python
241
star
9

Design-of-experiment-Python

Design-of-experiment (DOE) generator for science, engineering, and statistics
Jupyter Notebook
236
star
10

Optimization-Python

General optimization (LP, MIP, QP, continuous and discrete optimization etc.) using Python
Jupyter Notebook
222
star
11

DS-with-PySimpleGUI

Data science and Machine Learning GUI programs/ desktop apps with PySimpleGUI package
Jupyter Notebook
167
star
12

Interactive_Machine_Learning

IPython widgets, interactive plots, interactive machine learning
Jupyter Notebook
151
star
13

doepy

Design of Experiment Generator. Read the docs at: https://doepy.readthedocs.io/en/latest/
Python
141
star
14

PyTorch_Machine_Learning

Machine learning, Deep Learning, CNN with PyTorch
Jupyter Notebook
80
star
15

Finance-with-Python

Financial data analytics with Python
Jupyter Notebook
73
star
16

Synthetic-data-gen

Various methods for generating synthetic data for data science and ML
Jupyter Notebook
73
star
17

Covid-19-analysis

Analysis with Covid-19 data
Jupyter Notebook
60
star
18

Julia-data-science

Data science and numerical computing with Julia
Jupyter Notebook
57
star
19

R-stats-machine-learning

Misc Statistics and Machine Learning codes in R
R
40
star
20

Algorithm-Data-Structures-Python

Various useful data structures in Python
Jupyter Notebook
37
star
21

TensorFlow_Basics

Basic TensorFlow mechanics, operations, class definitions, and neural networks building. Examples from deeplearning.ai Tensorflow course using Google Colab platform.
Jupyter Notebook
35
star
22

Scikit-image-processing

Image processing examples with Numpy, Scipy, and Scikit-image
Jupyter Notebook
32
star
23

mlr

Multiple linear regression with statistical inference, residual analysis, direct CSV loading, and other features
Python
31
star
24

Packt-Data_Wrangling

Code repo for Packt course I developed, "Beginning Data Wrangling with Python"
Jupyter Notebook
28
star
25

Digital-Twin

Digital twin with Python
Jupyter Notebook
28
star
26

ML-apps-with-Streamlit

Building simple ML apps with Streamlit
Python
24
star
27

PyScript-examples

Examples of web pages developed with PyScript framework
23
star
28

tirthajyoti.github.io

Tirthajyoti's Home Page about machine learning, statistics, analytics
HTML
22
star
29

Algorithm_Maths_Python

General math scripts and important algorithms' implementation in Python 3
Jupyter Notebook
21
star
30

Symbolic-computation-Python

Symbolic computation using SymPy and various applications
Jupyter Notebook
20
star
31

RL_basics

Basic Reinforcement Learning algorithms
Jupyter Notebook
17
star
32

GradDescent

MATLAB implementation of Gradient Descent algorithm for Multivariate Linear Regression
MATLAB
16
star
33

Convolutional-Networks

Various conv nets using TensorFlow, Keras, or other tools
Jupyter Notebook
14
star
34

Dask-analytics-ML

Data science and ML with Dask
Jupyter Notebook
13
star
35

Magnimind-Stats-Bootcamp-Jan-2020

Magnimind Bootcamp Stats for Data Science
Jupyter Notebook
12
star
36

PyWebIO

Web apps generated by pure Python script using PyWebIO
Python
11
star
37

Scikit-image-book

Scikit-image-book-built-with-Jupyter-book
Jupyter Notebook
11
star
38

Stats_data_science_ValleyML

Notebooks for the ValleyML Bootcamp (Aug 2019) "Statistical methods for data science"
Jupyter Notebook
10
star
39

Randomized_Optimization

Randomized optimization techniques for NN and other problems
HTML
8
star
40

HyperparameterLearningTF

Learning the impact of Hyperparameters in a deep learning model
Jupyter Notebook
7
star
41

D3.js-examples

Simple D3.js code examples
JavaScript
6
star
42

MNIST_digit_recognition

MNIST hand-written digit recognition by fully-connected and convolutional neural networks - boiler plate code for easy reproduction and tutorial purpose.
Jupyter Notebook
6
star
43

tirthajyoti

5
star
44

Random_Function_Generator

Random function generator, with generation by symbolic input
Jupyter Notebook
4
star
45

Stanford-SCI-52

Jupyter Notebook
4
star
46

DeepNetworksR

Multi-layer neural networks code examples in R
R
4
star
47

Gradio-apps

Python web apps built with Gradio
3
star
48

mldsutils

My own ml and ds utils package
Jupyter Notebook
3
star
49

ghPage-test

test for gh pages
2
star
50

FunnyWordGen

Funny word (random) generator using Python 3
Python
2
star
51

Saturn-cloud

Write-ups for Saturn-cloud
1
star