Skip to content

CNN training framework. Torch operators are used to realize the forward and back propagation of neural network from scratch.

License

Notifications You must be signed in to change notification settings

ConvolutedDog/CNN-BackPropogation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

numpy_neuron_network

仅使用numpy从头构建神经网络, 包括如下内容(持续更新中....)

  1. 网络中梯度反向传播公式推导

  2. 层:FC层,卷积层,池化层,Flatten

  3. 激活函数: ReLU、LeakyReLU、PReLU、ELU、SELU

  4. 损失函数:均方差、交叉熵

  5. 模型的保存、部署

  6. 案例学习:线性回归、图像分类

  7. 迁移学习、模型精调

  8. 进阶:RNN、LSTM、GRU、BN

[TOC]

运行工程

环境:python 3.6.x

依赖:numpy>=1.15.0、Cython、jupyter

a) 下载

git clone https://github.com/yizt/numpy_neuron_network

b) 编译nn/clayers.pyx

cd numpy_neuron_network
python setup.py build_ext -i

c) 启动工程,所有的notebook都可以直接运行

jupyter notebook --allow-root --ip 0.0.0.0

基础知识

0_1-全连接层、损失函数的反向传播csdn地址

0_2_1-卷积层的反向传播-单通道、无padding、步长1csdn地址

0_2_2-卷积层的反向传播-多通道、无padding、步长1csdn地址

0_2_3-卷积层的反向传播-多通道、无padding、步长不为1csdn地址

0_2_4-卷积层的反向传播-多通道、有padding、步长不为1csdn地址

0_2_5-池化层的反向传播-MaxPooling、AveragePooling、GlobalAveragePooling、GlobalMaxPoolingcsdn地址

0_3-激活函数的反向传播-ReLU、LeakyReLU、PReLU、ELU、SELUcsdn地址

0_4-优化方法-SGD、AdaGrad、RMSProp、Adadelta、Adamcsdn地址

DNN练习

1_1_1-全连接神经网络做线性回归csdn地址

1_1_2-全连接神经网络做mnist手写数字识别csdn地址

CNN练习

2_1-numpy卷积层实现csdn地址

2_2-numpy池化层实现csdn地址

2_3-numpy-cnn-mnist手写数字识别csdn地址

2_4-对抗神经网络 、csdn地址

经典网络

3_1-VGG

进阶

5-1-RNN反向传播

5-2-LSTM反向传播

5-3-GRU反向传播

5-4-RNN、LSTM、GRU实现

5-5-案例-lstm连续文字识别

6-1-Batch Normalization反向传播

6-2-Batch Normalization实现

About

CNN training framework. Torch operators are used to realize the forward and back propagation of neural network from scratch.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 56.6%
  • Python 43.4%