TensorFlow实现卷积神经网络:
实现网络将使用的辅助函数
实现基于TensorFlow的完整cnn网络
上一篇使用numpy实现卷积,池化,正反传播,是为了解卷积神经网络原理。现在深度学习的大多数实际应用都是使用编程框架构建的,编程框架具有许多内置函数可以方便实现各种网络。
TensorFlow的使用步骤回顾
创建占位符
参数初始化
正向传播
计算成本
选择优化算法
初始化全局参数
创建session
session初始化
循环运行周期:
样本划分mini-batch
循环 mini-batch
运行session
2. 由上面的数据处理可以看出,卷积神经网络和之前的普通网络的区别之一是数据并没有被拍平,图像的输入是带有通道的。
创建占位符:
参数初始化:
正向传播:
卷积函数
给定输入X和一组卷积核W1,这个函数在X上使用W1进行卷积。第三个参数([1,s,s,1]) 表示输入数据,每个维度的卷积步幅(m, n_H_prev, n_W_prev, n_C_prev)
池化函数
输入A,卷积核大小(f,f),步幅(s,s)
激活函数
数据扁平化,主要是为后面的全连接做数据处理
全连接,普通连接层
x输入,num_outputs输出值个数,也就是节点数
计算成本
多分类交叉熵成本函数
tf.reduce_mean
计算平均值
最终模型
最终的训练集精度 大约 90%
测试集精度大约85%
下一篇:使用keras构建卷积神经网络
领取专属 10元无门槛券
私享最新 技术干货