您的位置:首页 > 理论基础 > 计算机网络

仅个人笔记不作为教学,深度学习-神经网络的搭建一般步骤(tensorflow)

2019-02-24 17:39 736 查看

一个完整的神经网络的搭建,包括了输入,神经网络输出,以及分类结果的交叉商得到loss 以及对loss 的优化得到准确的结果。

输入就是数据的输入
神经网络一般是几层的卷积层,几层的池化层,几层的归一化层,再来几层的全连接层加上最后的分类层就能输出结果了。

卷积层的话:一般哪些东西呢?输入肯定的,还有就是参数W,一般训练就是训练这个东西处理出来,还有呢加个biases防止他们的过拟合。这些都需要initialize,还有就是卷积核的设定了,卷积核主要就是大小,需要注意。最后就是卷积走起来,但是卷积走起来要看看卷积的步长以及是否和原始的大小一致,主要分为same 和 valid这两种咯。最后就是可以啦

池化层的话主要的作用就是让你之前那个变小一点,所以他也有池化核的大小,步长一般都不可为1.

全连接层的输入要注意整形,一般来说都是拉直的,才能放进去,一般都是调用reshape这个函数里面带一个-1

第一种遇到的:
reshape = tf.reshape(pool2,shape=[batch_size,-1])
dim = reshape.get_shape()[1].value

第二种遇到的:
h_pool2_flat=tf.reshape(h_pool2,[-1,7764])

讲输出的结果放到losses的计算中主要就是交叉商的使用
学习链接:
https://www.geek-share.com/detail/2744644280.html

https://blog.csdn.net/The_lastest/article/details/80994456
主要就是输入上面提到的输出结果与我们准确的结果坐下差距的计算,然后输出这个的差距。

最后就是训练了,训练的话就是优化这个差距让这个差距尽量的小咯。一般叫做optimizer。
optimizer之后就能获得我们想想要的结果啦~

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: