Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/charmve/numpycnn
- Owner: Charmve
- Created: 2021-02-07T16:19:56.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-02-07T16:29:27.000Z (over 3 years ago)
- Last Synced: 2024-04-15T09:05:26.796Z (7 months ago)
- Topics: cnn, computer-vision, deep-learning, deep-learning-tutorial, machine-learning, numpy, project, python, tutotrial
- Language: Python
- Homepage: https://gitbook.cn/new/gitchat/activity/5fddbca4201c01667e62c3c4
- Size: 18.6 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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