# numpy手撕经典神经网络 **Repository Path**: penguink3/numpy-bp-neural-network ## Basic Information - **Project Name**: numpy手撕经典神经网络 - **Description**: numpy手撕bp神经网络学习和CNN学习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-11-19 - **Last Updated**: 2023-10-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 1. 文件目录和说明 => | -> .idea: 这是一个pycharm写的项目 | -> data: 存放minist手写数据集文件 -> mnist.pkl.gz: minist手写数据集 | -> minist_loader.py: 手写数据集数据导入工具 | -> CNN_np.py: numpy实现的卷积神经网络 | -> mlp_np.py: numpy实现的BP神经网络 # 2. 关键函数 ## 2.1. minist_loader => [出处](https://github.com/dragen1860/PracticalDeepLearningTutorials/tree/master/lesson4-backpropagation) - load_data: 原始的data loader - load_data_wrapper:把数据集导入成打平的data: [784,1] - load_data_wrapper_T: 把数据集导入成打平的data: [1,784] ## 2.2. mlp_np - sigmoid和sigmoid_prime:sigmoid激活函数和它的求导函数 - MLP:numpy实现的BP网络类 - forward:前向传递 - backprop:后向传递 - train:开始训练网络 - update_each_batch:train遍历每一个batch,这个方法对每一个batch进行统一的后向传递过程 - evaluation:通过test_data测试网络准确性 ## 2.3. CNN_np - sigmoid和sigmoid_prime:sigmoid激活函数和它的求导函数 - MLP:numpy实现的CNN网络类 - forward:前向传递 - backprop:后向传递 - SGD:开始训练网络 - update_each_batch:train遍历每一个batch,这个方法对每一个batch进行统一的后向传递过程 - evaluation:通过test_data测试网络准确性 # 3. 参考笔记和资料 ## 3.1. [BP神经网络参考资料](https://github.com/dragen1860/PracticalDeepLearningTutorials/tree/master/lesson4-backpropagation) ## 3.2. [笔记](https://gitee.com/penguink3/study-notes/blob/master/PyTorch/numpy%E6%89%8B%E6%92%95BP%E7%BD%91%E7%BB%9C.md)