卷积神经网络+TensorBoard 详细实战

之前,有写过关于TensorBoard使用的文章,后来因为科研任务繁重,加上找工作原因,一直没时间总结。趁今天周末有时间总结下,用了个简单的CNN网络来举例子。

第一步:老规矩,导入相关的包;

卷积神经网络+TensorBoard 详细实战

第二步:设置参数,就算batch的个数。很多情况,由于内存原因,不能一次性把所有的训练集全部加装到内存上,因此需要使用batch;

卷积神经网络+TensorBoard 详细实战

第三步:定义一些函数,主要通过tf.summary.scalar()记录参数;

卷积神经网络+TensorBoard 详细实战

权重初始化函数

卷积神经网络+TensorBoard 详细实战

卷积函数

卷积神经网络+TensorBoard 详细实战

池化函数

卷积神经网络+TensorBoard 详细实战

定义输入的placeholder,因为使用了卷积函数,需要将784维的一维数据,转为28*28像素的数据。

卷积神经网络+TensorBoard 详细实战

搭建卷积网络:第一层的卷积层,5x5的卷积核,2个卷积核从1个平面抽取特征

卷积神经网络+TensorBoard 详细实战

第二层的卷积层,5x5的卷积核,64个卷积核从32个平面抽取特征

卷积神经网络+TensorBoard 详细实战

28*28的图片第一次卷积后还是28*28(使用了SAME方式,SAME模式是最常见的模式,是指经过卷积的特征图和原图的size保持不变),第一次池化后变为14*14;

第二次卷积后为14*14,第二次池化后变为了7*7;

进过上面操作后得到64张7*7的平面。

全连接层:

卷积神经网络+TensorBoard 详细实战

卷积神经网络+TensorBoard 详细实战

交叉熵代价函数

卷积神经网络+TensorBoard 详细实战

使用AdamOptimizer进行优化

卷积神经网络+TensorBoard 详细实战

求准确率

卷积神经网络+TensorBoard 详细实战

合并所有的summary

卷积神经网络+TensorBoard 详细实战

最后,进行训练

卷积神经网络+TensorBoard 详细实战

输出结果

卷积神经网络+TensorBoard 详细实战

TensorBoard使用

tensorboard --logdir=文件夹路径 --host=127.0.0.1
(复制指定路径后就可以访问了)

网络拓补图:

卷积神经网络+TensorBoard 详细实战

记录的权重参数的信息

卷积神经网络+TensorBoard 详细实战

卷积神经网络+TensorBoard 详细实战

卷积神经网络+TensorBoard 详细实战

还有很多记录的数据,就不一一展示,感兴趣的同学可以自己尝试下(大神请绕路(~_~))

卷积神经网络+TensorBoard 详细实战

需要代码的,可私聊我。


分享到:


相關文章: