• Stars
    star
    2,766
  • Rank 15,893 (Top 0.4 %)
  • Language
    Jupyter Notebook
  • License
    Other
  • Created over 7 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

Repository for "Introduction to Artificial Neural Networks and Deep Learning: A Practical Guide with Applications in Python"

Python 3.6 License Mailing List

Introduction to Artificial Neural Networks and Deep Learning: A Practical Guide with Applications in Python

Repository for the book Introduction to Artificial Neural Networks and Deep Learning: A Practical Guide with Applications in Python.


Deep learning is not just the talk of the town among tech folks. Deep learning allows us to tackle complex problems, training artificial neural networks to recognize complex patterns for image and speech recognition. In this book, we'll continue where we left off in Python Machine Learning and implement deep learning algorithms in PyTorch.


  • This repository will contain the instructions, code examples, and solutions for the Hands-On and Exercise portions of each chapter.

  • PDF and ebook versions of the book will be available from Leanpub.

Deep Learning Book

ISBN-10: [TBA]
ISBN-13: [TBA]
Paperback: est. 2018


Manuscripts / Early Access Drafts

  • 01 - Introduction

  • 02 - The Perceptron

  • 03 - Optimizing Cost Functions with Gradient Descent

  • 04 - Logistic Regression and Softmax Regression

  • 05 - From Softmax Regression to Multilayer Perceptrons

  • 06 - Cross Validation and Performance Metrics

  • 07 - Regularization in Neural Networks

  • 08 - Learning Rates and Weight Initialization

  • 09 - Convolutional Neural Networks

  • 10 - Recurrent Neural Networks

  • 11 - Autoencoders

  • 12 - General Adverserial Neural Networks

  • 13 - Deep Generative Models

  • 14 - Reinforcement Learning

Supporting Material

  • Appendix A: Mathematical Notation [PDF]

  • Appendix B: Algebra Basics [PDF]

  • Appendix C: Linear Algebra Essentials

  • Appendix D: Calculus and Differentiation Primer [PDF]

  • Appendix E: Probability Theory Overview

  • Appendix F: Notational Conventions Reference

  • Appendix G: Python Setup

  • Appendix H: Introduction to NumPy [PDF] [Code Notebook]

  • Appendix I: PyTorch Basics

  • Appendix I (alt.): TensorFlow Basics [PDF] [Code Notebook]

  • Appendix J: Cloud Computing [PDF]

Model Zoo


About the Book

Machine learning has become a central part of our life β€” as consumers, customers, and hopefully as researchers and practitioners! I appreciate all the nice feedback that you sent me about Python Machine Learning, and I am so happy to hear that you found it so useful as a learning guide, helping you with your business applications and research projects. I have received many emails since its release. Also, in these very emails, you were asking me about a possible prequel or sequel.

Initially, I was inclined to write more about the "math" parts, which can be a real hurdle for almost everyone without (or even with) a math major in college. Initially, I thought that writing a book about "machine learning math" was a cool thing to do. Now, I have ~15 chapters worth of notes about pre-calculus, calculus, linear algebra, statistics, and probability theory. However, I eventually came to a conclusion that there were too many other math books out there, already! Most of them are far better and more comprehensive and accurate than my potential ~500-page introduction to the topics that I had in store. After all, I think that the real motivation for learning and understanding a subject comes from being excited about it in the first place; if you are passionate about machine learning and you stumble upon the chain rule in calculus, you wouldn't have any problems to find a trusted resource via your favorite search engine these days.

So, instead of writing that "prequel," let me write about something that's built upon the concepts that I introduced in the later chapters of Python Machine Learning -- algorithms for deep learning. After we coded a multi-layer perceptron (a certain kind of feedforward artificial neural network) from scratch, we took a brief look at some Python libraries for implementing deep learning algorithms, and I introduced convolutional and recurrent neural networks on a conceptual level.

In this book, I want to continue where I left off and want to implement deep neural networks and algorithms for deep learning algorithms from scratch, using Python, NumPy, and SciPy throughout this educational journey. In addition to the vanilla Python science-stack, we will implement these algorithms in TensorFlow, highly performant yet very accessible deep learning library for implementing and applying deep learning to real-world problems.

License

Code

All code in this repository (including the code examples in Jupyter Notebooks) is open source content, released under the MIT software license. In short, the permissive MIT license allows you to do anything with the code with proper attribution and without warranty; please check the MIT LICENSE notice for further details.

Text and Graphics

All non-code content and creative work in this repository, including text and graphics, is under exclusive copyright by the author, Sebastian Raschka. Unless noted otherwise, text content shared in this repository is intended for personal use only. You may use, modify, or share short text passages of this work with proper attribution to the author. However, if you are planning to modify and/or share substantial portions of this book for other writings, such as blog posts, magazine article, or teaching material, contact the author for permission.

Figures and graphics marked by a Creative Commons Attribution-ShareAlike 4.0 International are free to share under the respective license terms (as listed in the Creative Commons Attribution-ShareAlike 4.0 International section in the LICENSE file) and proper attribution.

Acknowledgements

I would like to give my special thanks to the readers, who caught various typos and errors and offered suggestions for clarifying my writing.

  • Appendix A: Artem Sobolev, Ryan Sun
  • Appendix B: Brett Miller, Ryan Sun
  • Appendix D: Marcel Blattner, Ignacio Campabadal, Ryan Sun
  • Appendix F: Guillermo Moncecchi‏, Ged Ridgway
  • Appendix H: Brett Miller

More Repositories

1

deeplearning-models

A collection of various deep learning architectures, models, and tips
Jupyter Notebook
16,088
star
2

python-machine-learning-book

The "Python Machine Learning (1st edition)" book code repository and info resource
Jupyter Notebook
12,030
star
3

python-machine-learning-book-2nd-edition

The "Python Machine Learning (2nd edition)" book code repository and info resource
Jupyter Notebook
7,021
star
4

mlxtend

A library of extension and helper modules for Python's data analysis and machine learning libraries.
Python
4,631
star
5

python-machine-learning-book-3rd-edition

The "Python Machine Learning (3rd edition)" book code repository
Jupyter Notebook
4,392
star
6

pattern_classification

A collection of tutorials and examples for solving and understanding machine learning and pattern classification tasks
Jupyter Notebook
4,057
star
7

python_reference

Useful functions, tutorials, and other Python-related things
Jupyter Notebook
3,715
star
8

machine-learning-book

Code Repository for Machine Learning with PyTorch and Scikit-Learn
Jupyter Notebook
2,428
star
9

matplotlib-gallery

Examples of matplotlib codes and plots
Jupyter Notebook
1,135
star
10

watermark

An IPython magic extension for printing date and time stamps, version numbers, and hardware information
Python
845
star
11

machine-learning-notes

Collection of useful machine learning codes and snippets (originally intended for my personal use)
Jupyter Notebook
709
star
12

stat479-machine-learning-fs19

Course material for STAT 479: Machine Learning (FS 2019) taught by Sebastian Raschka at University Wisconsin-Madison
Jupyter Notebook
673
star
13

scipy2023-deeplearning

Jupyter Notebook
597
star
14

pyprind

PyPrind - Python Progress Indicator Utility
Python
545
star
15

stat453-deep-learning-ss20

STAT 453: Intro to Deep Learning @ UW-Madison (Spring 2020)
Jupyter Notebook
537
star
16

stat479-deep-learning-ss19

Course material for STAT 479: Deep Learning (SS 2019) at University Wisconsin-Madison
Jupyter Notebook
493
star
17

algorithms_in_ipython_notebooks

A repository with IPython notebooks of algorithms implemented in Python.
Jupyter Notebook
493
star
18

stat479-machine-learning-fs18

Course material for STAT 479: Machine Learning (FS 2018) at University Wisconsin-Madison
Jupyter Notebook
470
star
19

musicmood

A machine learning approach to classify songs by mood.
OpenEdge ABL
404
star
20

stat453-deep-learning-ss21

STAT 453: Intro to Deep Learning @ UW-Madison (Spring 2021)
Jupyter Notebook
363
star
21

stat451-machine-learning-fs20

STAT 451: Intro to Machine Learning @ UW-Madison (Fall 2020)
Jupyter Notebook
359
star
22

datacollect

A collection of tools to collect and download various data.
Jupyter Notebook
207
star
23

data-science-tutorial

Code material for a data science tutorial
Jupyter Notebook
188
star
24

LLM-finetuning-scripts

Jupyter Notebook
135
star
25

One-Python-benchmark-per-day

An ongoing fun challenge where I'll try to post one Python benchmark per day.
HTML
130
star
26

pydata-chicago2016-ml-tutorial

Machine learning with scikit-learn tutorial at PyData Chicago 2016
Jupyter Notebook
128
star
27

stat451-machine-learning-fs21

Jupyter Notebook
128
star
28

cvpr2023

Python
116
star
29

faster-pytorch-blog

Outlining techniques for improving the training performance of your PyTorch model without compromising its accuracy
Python
115
star
30

msu-datascience-ml-tutorial-2018

Machine learning with Python tutorial at MSU Data Science 2018
Jupyter Notebook
105
star
31

protein-science

A collection of useful tutorials for Protein Science
Python
96
star
32

markdown-toclify

A Python command line tool that creates a Table of Contents for Markdown documents
Python
92
star
33

cyclemoid-pytorch

Cyclemoid implementation for PyTorch
Python
85
star
34

MachineLearning-QandAI-book

Machine Learning Q and AI book
Jupyter Notebook
83
star
35

pydata-annarbor2017-dl-tutorial

Code snippets for "Introduction to Deep Learning with TensorFlow" at PyData Ann Arbor Aug 2017
Jupyter Notebook
80
star
36

smilite

A Python module to retrieve and compare SMILE strings of chemical compounds from the free ZINC online database
Python
73
star
37

pytorch-memory-optim

This code repository contains the code used for my "Optimizing Memory Usage for Training LLMs and Vision Transformers in PyTorch" blog post.
Python
68
star
38

DeepLearning-Gdansk2019-tutorial

Ordinal Regression tutorial for the International Summer School on Deep Learning 2019
Jupyter Notebook
66
star
39

model-eval-article-supplementary

Supplementary material for the article "Model Evaluation, Model Selection, and Algorithm Selection in Machine Learning"
Jupyter Notebook
62
star
40

nn_plus_gzip

Gzip and nearest neighbors for text classification
Jupyter Notebook
58
star
41

LLMs-from-scratch

Implementing ChatGPT-like LLMs from scratch, step by step
Jupyter Notebook
54
star
42

interpretable-ml-article

Code examples for my Interpretable Machine Learning Blog Series
Jupyter Notebook
54
star
43

R_snippets

R Scripts for general data analysis and plotting
R
45
star
44

numpy-intro-blogarticle-2020

Jupyter Notebook for the "Scientific Computing in Python: Introduction to NumPy and Matplotlib" blog article
Jupyter Notebook
40
star
45

blog-finetuning-llama-adapters

Supplementary material for "Understanding Parameter-Efficient Finetuning of Large Language Models: From Prefix Tuning to Adapters"
Jupyter Notebook
36
star
46

mputil

Utility functions for Python's multiprocessing standard library module
Python
35
star
47

pybibtex

Utility functions for parsing BibTeX files and creating citation reference lists.
Python
32
star
48

mytorch

Collection of PyTorch-related utility functions
Python
27
star
49

posit2023-python-ml

Workshop materials for posit::conf(2023)
Jupyter Notebook
25
star
50

comparing-automatic-augmentation-blog

Comparing four automatic image augmentation techniques in PyTorch: AutoAugment, RandAugment, AugMix, and TrivialAugment
Jupyter Notebook
25
star
51

pytorch-fabric-demo

Python
24
star
52

Hbind

Calculates hydrogen-bond interaction tables for protein-small molecule complexes, based on protein PDB and protonated ligand MOL2 structure input. Raschka et al. (2018) J. Computer-Aided Molec. Design
C
24
star
53

scipy2022-talk

Python
23
star
54

screenlamp

screenlamp is a Python toolkit for hypothesis-driven virtual screening
Python
22
star
55

gradient-accumulation-blog

Finetuning BLOOM on a single GPU using gradient-accumulation
Python
22
star
56

2021-issdl-gdansk

Intro to GAN Tutorial for the International Summer School of Deep Learning 2021 in Gdansk
Jupyter Notebook
21
star
57

uw-madison-datacience-club-talk-oct2019

Slides and code for the talk at UW-Madison's Data Science Club, 10 Oct 2019
Jupyter Notebook
20
star
58

predicting-activity-by-machine-learning

Activity From Virtual Screening Code Repository
Jupyter Notebook
20
star
59

BondPack

A collection of PyMOL plugins to visualize atomic bonds.
Python
20
star
60

siteinterlock

A novel approach to pose selection in protein-ligand docking based on graph theory.
Python
19
star
61

low-rank-adaptation-blog

Python
19
star
62

R-notes

Various R lang related material for teaching.
Python
19
star
63

2021-pydata-jeddah

Materials for "Transformers from the Ground Up" at PyData Jeddah on August 5, 2021
Jupyter Notebook
18
star
64

b3-basic-batchsize-benchmark

Experiments for the blog post "No, We Don't Have to Choose Batch Sizes As Powers Of 2"
Python
16
star
65

ViT-finetuning-scripts

Vision transformer finetuning scripts
Python
15
star
66

datapipes-blog

Code for the DataPipes article
Jupyter Notebook
14
star
67

srgan-lightning-blog

Sharing Deep Learning Research Models with Lightning Part 1: Building A Super Resolution App
Python
14
star
68

try-lion-optimizer

Jupyter Notebook
10
star
69

mnist-pngs

MNIST files in PNG format
Python
10
star
70

py-args

Python command line tools as productivity supplements for Posix systems
Python
10
star
71

ecml-teaching-ml-2021

Jupyter Notebook
10
star
72

HbindViz

Tools for generating hydrogen-bond interaction visualizations from Hbind
Python
9
star
73

protein-recognition-index

Protein Recognition Index (PRI), measuring the similarity between H-bonding features in a given complex (predicted or designed) and the characteristic H-bond trends from crystallographic complexes
Python
8
star
74

tpot

A Python tool that automatically creates and optimizes Machine Learning pipelines using genetic programming.
Python
8
star
75

ord-torchhub

Ordinal Regression PyTorch Hub
Python
6
star
76

compair

Model evaluation utilities
Python
5
star
77

torchmetrics-blog

Code for "TorchMetrics -- How do we use it, and what's the difference between .update() and .forward()"
Jupyter Notebook
5
star
78

rasbt

5
star
79

advent-of-code-2016

My Solutions for the Advent of Code 2016
Python
5
star
80

bugreport

A repository to store code examples to reproduce issues for bug reports.
Jupyter Notebook
2
star
81

bookgiveaway-2022-wordcloud

Word cloud from the results of the book-giveaway
Jupyter Notebook
1
star
82

pycon2024

Tutorial Materials for "The Fundamentals of Modern Deep Learning with PyTorch"
1
star