All Projects β†’ Spandan-Madan β†’ Deeplearningproject

Spandan-Madan / Deeplearningproject

Licence: mit
An in-depth machine learning tutorial introducing readers to a whole machine learning pipeline from scratch.

Programming Languages

HTML
75241 projects
Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to Deeplearningproject

Shape Detection
🟣 Object detection of abstract shapes with neural networks
Stars: ✭ 170 (-96.04%)
Mutual labels:  tutorial, neural-networks
Basic reinforcement learning
An introductory series to Reinforcement Learning (RL) with comprehensive step-by-step tutorials.
Stars: ✭ 826 (-80.76%)
Mutual labels:  tutorial, neural-networks
Pytorch Lesson Zh
pytorch εŒ…ζ•™δΈεŒ…δΌš
Stars: ✭ 279 (-93.5%)
Mutual labels:  tutorial, neural-networks
Lemonml
πŸ‹Machine Learning library from scratch.πŸ‹
Stars: ✭ 29 (-99.32%)
Mutual labels:  tutorial, neural-networks
Tutorials
AI-related tutorials. Access any of them for free β†’ https://towardsai.net/editorial
Stars: ✭ 204 (-95.25%)
Mutual labels:  tutorial, neural-networks
Neural Network From Scratch
Ever wondered how to code your Neural Network using NumPy, with no frameworks involved?
Stars: ✭ 230 (-94.64%)
Mutual labels:  tutorial, neural-networks
Start Machine Learning In 2020
A complete guide to start and improve in machine learning (ML), artificial intelligence (AI) in 2021 without ANY background in the field and stay up-to-date with the latest news and state-of-the-art techniques!
Stars: ✭ 357 (-91.68%)
Mutual labels:  tutorial, neural-networks
Learn Elm
🌈 discover the beautiful programming language that makes front-end web apps a joy to build and maintain!
Stars: ✭ 432 (-89.94%)
Mutual labels:  tutorial
Vex tutorial
πŸ“‘ A collection of code snippets and examples showing syntax and capabilities of VEX language inside SideFX Houdini
Stars: ✭ 439 (-89.77%)
Mutual labels:  tutorial
Emacs4developers
A document to help developers to use Emacs as a developer
Stars: ✭ 430 (-89.98%)
Mutual labels:  tutorial
Cgold
πŸ‹ The Hitchhiker’s Guide to the CMake
Stars: ✭ 428 (-90.03%)
Mutual labels:  tutorial
Awesome Tutorials
I am going to write a series of tutorials about web/android/ios development
Stars: ✭ 435 (-89.87%)
Mutual labels:  tutorial
Web Design In 4 Minutes
Learn the basics of web design in 4 minutes
Stars: ✭ 4,186 (-2.49%)
Mutual labels:  tutorial
Lockstep Tutorial
帧同ζ­₯ 教程
Stars: ✭ 431 (-89.96%)
Mutual labels:  tutorial
Eattheblocks
Source code for Eat The Blocks, a screencast for Ethereum Dapp Developers
Stars: ✭ 431 (-89.96%)
Mutual labels:  tutorial
Scheme
Write You a Scheme
Stars: ✭ 430 (-89.98%)
Mutual labels:  tutorial
Elm Example App
An example Elm single page application
Stars: ✭ 444 (-89.66%)
Mutual labels:  tutorial
Reinforcement learning tutorial with demo
Reinforcement Learning Tutorial with Demo: DP (Policy and Value Iteration), Monte Carlo, TD Learning (SARSA, QLearning), Function Approximation, Policy Gradient, DQN, Imitation, Meta Learning, Papers, Courses, etc..
Stars: ✭ 442 (-89.7%)
Mutual labels:  tutorial
Reverse Engineering Tutorials
Reverse Engineering Tutorials
Stars: ✭ 438 (-89.8%)
Mutual labels:  tutorial
Geneticalgorithmpython
Source code of PyGAD, a Python 3 library for building the genetic algorithm and training machine learning algorithms (Keras & PyTorch).
Stars: ✭ 435 (-89.87%)
Mutual labels:  neural-networks

harvard-logo

An end to end tutorial of a machine learning pipeline

This tutorial tries to do what most Most Machine Learning tutorials available online do not. It is not a 30 minute tutorial which teaches you how to "Train your own neural network" or "Learn deep learning in under 30 minutes". It's a full pipeline which you would need to do if you actually work with machine learning - introducing you to all the parts, and all the implementation decisions and details that need to be made. The dataset is not one of the standard sets like MNIST or CIFAR, you will make you very own dataset. Then you will go through a couple conventional machine learning algorithms, before finally getting to deep learning!

In the fall of 2016, I was a Teaching Fellow (Harvard's version of TA) for the graduate class on "Advanced Topics in Data Science (CS209/109)" at Harvard University. I was in-charge of designing the class project given to the students, and this tutorial has been built on top of the project I designed for the class.

UPDATE 24th October 2018

The tutorial has now been re-written in PyTorch thanks to Anshul Basia (https://github.com/AnshulBasia)

You can access the HTML here: https://spandan-madan.github.io/DeepLearningProject/PyTorch_version/Deep_Learning_Project-Pytorch.html and the IPython Notebook with the code in PyTorch here:https://github.com/Spandan-Madan/DeepLearningProject/blob/master/PyTorch_version/Deep_Learning_Project-Pytorch.ipynb

Citing if you use the work here

If you would like to use this work, please cite the work using the doi - DOI

Reading/Viewing the Tutorial

To view the project as an HTML file, visit - https://spandan-madan.github.io/DeepLearningProject/

The Code

If you would like to access to Code, please go through the ipython notebook Deep_Learning_Project.ipynb

SETUP

Python

  • We will be using Python 2.7. Primary reason is that Tensorflow is not compatible with python > 3.5, and some other libraries are not compatible with python 3.

To make setup easy, we are going to use conda.

  • Please install conda 3 from https://www.continuum.io/downloads
  • The repository has a conda config file which will make setting up super easy. It's the file deeplearningproject_environment.yml
  • Then create a new conda environment using the command with conda env create -f deeplearningproject_environment.yml
  • Now, you can activate the environment with: source activate deeplearningproject
  • jupyter notebook If all the isntallations go through, you are good to go! If not, here is a list of packages that need to be installed: requests imDbPy wget tmdbsimple seaborn sklearn Pillow keras tensorflow h5py gensim nltk stop_words

Please install imdbpy using 'pip install imdbpy==6.6' since earlier versions are broken

Setting up conda environment in jupyter notebook

To be able to run the environment you just created on a juputer notebook, first check that you have the python package ipykernel installed. If you don't simply install it using

pip install ipykernel

Now, add this to your jupyter notebook using the command:

python -m ipykernel install --user --name deeplearningproject --display-name "deeplearningproject"

Needless to say, remove all single quotes before running commands.

Go to the directory and run jupyter notbeook by "jupyter notebook" and open the respective notebook on browser. TO install TMDB: pip install tmdbsimple Use "import tmdbsimple as tmdb"

Setting up a docker container with docker-compose

Prerequisites

Run docker-compose

To work with an isolate environment and be able to run it on many systems without troubles, you can run this docker-compose command:

docker-compose up

It will build deeplearningproject image according to Dockerfile. And then run dokcer container via docker-compose. See Docker and docker-compose docs for more informations :

Then access notebooks through your web browser at http://localhost:8888

You should notice that notebooks have been copied from root to notebooks folder to mount them into container via bind volume. Any changes you make, will be saved on host (notebooks dir).

Add packages

You can add conda or pip packages to image (and thus, container) by updating deeplearningproject_environment.yml file and then run

docker-compose build

It will build a new deeplearningproject image with new conda/pip packages installed. Stop your running container (CTRL-C) and then docker-compose up to rerun a fresh new container.

Known common bugs

I will keep updating this as issues pop up on this repository.

  • One known bug is because Keras 2.0 is not compatible with some Keras 1.2 functionalities. You may run into errors with importing VGG16. If so, just update keras using the following command:
sudo pip install git+git://github.com/fchollet/keras.git --upgrade

-OS Error: Too Many Open Files Refer to: https://stackoverflow.com/questions/16526783/python-subprocess-too-many-open-files or, shut down notebook and execute following the the same terminal ``bash ulimit -Sn 10000


And restart the jupyter notebook.

Hope this repo helps introduce you to a full machine learning pipeline! If you spot an error, please create an issue to help out others using this resource!

To prevent problems with installation and setting up, this repository comes with a conda environment profile. The only thing you will need is to install the newest version of conda, and use this profile to create a new environment and it will come set up with all the libraries you will need for the tutorial.

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].