python卷积神经网络库_GitHub - thesouther/cnn_with_numpy: 卷积神经网络(Convolutional Neural Networks, CNN),只使用pyth...
基于python基础库实现卷积神经网络LeNet5卷积神经网络(Convolutional Neural Networks, CNN),只使用python基础库搭建。本程序实现为ipynb和py脚本两种,ipynb文件更加易读,所以建议阅读CNNwithNumpy.ipynb文件简介本程序只基于Python的numpy库,实现cnn网络Lenet5,并用于在MNIST数据集上进行手写字符识别。本程
基于python基础库实现卷积神经网络LeNet5
卷积神经网络(Convolutional Neural Networks, CNN),只使用python基础库搭建。
本程序实现为ipynb和py脚本两种,ipynb文件更加易读,所以建议阅读CNNwithNumpy.ipynb文件
简介
本程序只基于Python的numpy库,实现cnn网络Lenet5,并用于在MNIST数据集上进行手写字符识别。
本程序实现了convolution、relu、max_pooling、fc、softmax等层级的前向和后向算法,并在mnist数据集的测试集上在3个epoch就可以实现98% 以上的的准确率。训练时间大概一个小时。
运行与查看
为了方便,本人整理了了notebook形式的文件,记录了运行过程中的中间结果,你可以查看完整版CNN.ipynb文件,或者直接从我的github方便地查看效果。
python文件。进行训练和测试,运行
python run.py
文件目录说明
文件目录树如下:
.
|-- data
| |-- t10k-images-idx3-ubyte.gz # mnist测试数据
| |-- t10k-labels-idx1-ubyte.gz # mnist测试标签
| |-- train-images-idx3-ubyte.gz # mnist训练数据
| `-- train-labels-idx1-ubyte.gz # mnist训练标签
|-- layer
| |-- Convolution.py # 卷积层
| |-- Relu.py # Relu激活函数
| |-- Softmax.py # softmax层
| |-- flatten.py # 将二维数据展开成一维
| |-- full_connection.py #全连接层
| `-- max_pool.py # 池化层
|-- data_helper.py # 载入数据
|-- CNN.py # CNN模型定义类
|-- run.py # 训练和测试代码
|-- 完整版CNN.ipynb # 完整的CNN代码,可以方便查看
|-- README.md
运行环境
python = 3.6.10
numpy = 1.16.0
Reference
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)