可以用于前面文章提到的MINST数据集的手写数字识别、也可以用于其他的方面
Github:
https://github.com/BeityLuo/Deeplearning-frame-from-scrach
以下的文字介绍在仓库中的README.md文件中有相同内容
神经网络框架使用方法及设计思想在框架上基本模仿pytorch,用以学习神经网络的基本算法,如前向传播、反向传播、各种层、各种激活函数
采用面向对象的思想进行编程,思路较为清晰
想要自己手写神经网络的同学们可以参考一下
代码大体框架较为清晰,但不否认存在丑陋的部分,以及对于pytorch的拙劣模仿
项目介绍MINST_recognition:
手写数字识别,使用MINST数据集
训练30轮可以达到93%准确度,训练500轮左右达到95%准确度无法继续上升
RNN_sin_to_cos:
使用循环神经网络RNN,用\(sin\)的曲线预测\(cos\)的曲线
目前仍有bug,无法正常训练
框架介绍
与框架有关的代码都放在了mtorch文件夹中
使用流程
与pytorch相似,需要定义自己的神经网络、损失函数、梯度下降的优化算法等等
在每一轮的训练中,先获取样本输入将其输入到自己的神经网络中获取输出。然后将预测结果和期望结果交给损失函数计算loss,并通过loss进行梯度的计算,最后通过优化器对神经网络的参数进行更新。
结合代码理解更佳