目前玩深度学习的小伙伴,上来就是使用现有的深度学习框架(TensorFlow,keras,pytorch,caffe),增加网络层,就像搭积木似的,看似方便,实则有时不利于个人能力发展,要知道现在公司需要的算法工程师,不仅仅只是会搭积木(这种工作,入门几个月的人就可以干了),而是要深入底层,能优化代码,能自己搭。
本文章适合以下几类人:
1)初学者,了解神经网络的推理和参数更新过程
2)会使用深度学习框架但不知道代码的实现
3)想提升自己的代码能力
第一步:准备数据
还是minst数据,号称深度学习界的“Hello world”,数据如下:
第二步:基础运算库搭建
深度学习推理过程和反向更新参数过程,本质就是一些矩阵运算,当我们把前期的基础运算库搭建好之后,再搭建深度学习的网络会起到事半功倍,而且这份代码是特别值得学习,机器学习很多运算求解其实也是矩阵运算,以下是部分代码截图
第三步:搭建网络结构
常见的神经网络有两种,一种是bp神经网络,一种是cnn神经网络
1.bp神经网络
//输入32*32 -- 全连接 15*1024 -- 全连接 15*10 -- 输出
以下为部分代码截图:
2.cnn神经网络
//输入32*32 -- 卷积C1 28*28 -- 池化S2 14*14 -- 卷积C3 10*10 -- 池化S4 5*5 -- 卷积C5 1*1 -- 全连接
以下为部分代码截图:
第四步:项目源码下载:
整套算法系列:https://blog.csdn.net/u013289254/category_12812167.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=12812167&sharerefer=PC&sharesource=u013289254&sharefrom=from_linkhttps://blog.csdn.net/u013289254/category_12812167.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=12812167&sharerefer=PC&sharesource=u013289254&sharefrom=from_link项目源码下载地址:关注WX【AI街潜水的八角】,回复【CNN神经网络算法】即可下载
整套项目源码内容包含
程序里面包括BP和CNN神经网络,接近上千行代码
第五步:运行过程
IDE软件用vs2010以上版本就行,在验证数据上,BP准确率能达91.6%,CNN准确度能达96.4%。
有问题可以私信或者留言,有问必答
标签:--,32,代码,C++,blogcolumn,神经网络,BP,调包,12812167 From: https://blog.csdn.net/u013289254/article/details/143092367