Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/charmve/numpycnn

Building Convolutional Neural Networks From Scratch using NumPy
https://github.com/charmve/numpycnn

cnn computer-vision deep-learning deep-learning-tutorial machine-learning numpy project python tutotrial

Last synced: 25 days ago
JSON representation

Building Convolutional Neural Networks From Scratch using NumPy

Awesome Lists containing this project

README

        

# NumPyCNN
NumPyCNN is a Python implementation for convolutional neural networks (CNNs) from scratch using NumPy.

![Building CNN in Python](https://user-images.githubusercontent.com/16560492/82431022-6c3a1200-9a8e-11ea-8f1b-b055196d76e3.png)

**IMPORTANT** *If you are coming for the code of the gitchat tutorial titled [Building Convolutional Neural Network using NumPy from Scratch (手把手带你开始计算机视觉项目——使用NumPy亲手搭建CNN,熟悉网络结结构)](https://gitbook.cn/gitchat/activity/5fddbca4201c01667e62c3c4), then you would just use the python code `NumPyCNN.py`.

The project has a single module named `cnn.py` which implements all classes and functions needed to build the CNN.

It is very important to note that the project only implements the **forward pass** of training CNNs and there is **no learning algorithm used**. Just the learning rate is used to make some changes to the weights after each epoch which is better than leaving the weights unchanged.

# Tutorials

There are different resources that can be used to get started with the building CNN and its Python implementation.

## 1. Build Neural Networks in Python

Read about building neural networks in Python through the tutorial titled [**Artificial Neural Network Implementation using NumPy and Classification of the Fruits360 Image Dataset**](https://www.linkedin.com/pulse/artificial-neural-network-implementation-using-numpy-fruits360-gad) available at these links:

- [Towards Data Science](https://towardsdatascience.com/artificial-neural-network-implementation-using-numpy-and-classification-of-the-fruits360-image-3c56affa4491)
- [KDnuggets](https://www.kdnuggets.com/2019/02/artificial-neural-network-implementation-using-numpy-and-image-classification.html)

[![Building Neural Networks Python](https://user-images.githubusercontent.com/16560492/82078281-30472b80-96e1-11ea-8017-6a1f4383d602.jpg)](https://www.linkedin.com/pulse/artificial-neural-network-implementation-using-numpy-fruits360-gad)

## 2. NumPyCNN: Building CNN in Python

To start with coding the genetic algorithm, you can check the tutorial titled [**Building Convolutional Neural Network using NumPy from Scratch**](https://gitbook.cn/new/gitchat/activity/5fddbca4201c01667e62c3c4) available at these links:

- [Towards Data Science](https://towardsdatascience.com/building-convolutional-neural-network-using-numpy-from-scratch-b30aac50e50a)
- [GitChat](https://gitbook.cn/gitchat/activity/5fddbca4201c01667e62c3c4)

[![Building CNN in Python](https://user-images.githubusercontent.com/16560492/82431022-6c3a1200-9a8e-11ea-8f1b-b055196d76e3.png)](https://gitbook.cn/new/gitchat/activity/5fddbca4201c01667e62c3c4)

## 3. Derivation of CNN from FCNN

Get started with the genetic algorithm by reading the tutorial titled [**Derivation of Convolutional Neural Network from Fully Connected Network Step-By-Step**](https://www.linkedin.com/pulse/derivation-convolutional-neural-network-from-fully-connected-gad) which is available at these links:

- [Towards Data Science](https://towardsdatascience.com/derivation-of-convolutional-neural-network-from-fully-connected-network-step-by-step-b42ebafa5275)
- [KDnuggets](https://www.kdnuggets.com/2018/04/derivation-convolutional-neural-network-fully-connected-step-by-step.html)

[![Derivation of CNN from FCNN](https://user-images.githubusercontent.com/16560492/82431369-db176b00-9a8e-11ea-99bd-e845192873fc.png)](https://www.linkedin.com/pulse/derivation-convolutional-neural-network-from-fully-connected-gad)

## Book: Practical Computer Vision Applications Using Deep Learning with CNNs

You can also check my book cited as [**Ahmed Fawzy Gad 'Practical Computer Vision Applications Using Deep Learning with CNNs'. Dec. 2018, Apress, 978-1-4842-4167-7**](https://www.amazon.com/Practical-Computer-Vision-Applications-Learning/dp/1484241665) which discusses neural networks, convolutional neural networks, deep learning, genetic algorithm, and more.

- [Springer](https://link.springer.com/book/10.1007/978-1-4842-4167-7)
- [O'Reilly](https://www.oreilly.com/library/view/practical-computer-vision/9781484241677)
- [Google Books](https://books.google.com.eg/books?id=xLd9DwAAQBAJ)

![Fig04](https://user-images.githubusercontent.com/16560492/78830077-ae7c2800-79e7-11ea-980b-53b6bd879eeb.jpg)

## Acknowledgement

@GitChat, @ahmedfgad