Skip to content

仅使用numpy从头开始实现神经网络,包括反向传播公式推导过程; numpy构建全连接层、卷积层、池化层、Flatten层;以及图像分类案例及精调网络案例等,持续更新中... ...

License

Notifications You must be signed in to change notification settings

bondruy/numpy_neural_network

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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地址

其它

模型的保存、部署

精调网络

进阶

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

仅使用numpy从头开始实现神经网络,包括反向传播公式推导过程; numpy构建全连接层、卷积层、池化层、Flatten层;以及图像分类案例及精调网络案例等,持续更新中... ...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 72.1%
  • Python 27.9%