本文记录用两层卷积网络实现训练MNIST数据集
先介绍一下所用核心函数
1.tf.nn.conv2d(input,filter,strides,padding,use_cudnn_on_gpu=None,data_format=None,name=None)
input:待卷积的数据,格式要求为一个张量tensor,【batch,in_height,in_width,in_channels】
分别表示 批次数,图像高度,宽度,输入通道数
filter:卷积核,格式要求为【filter_height,filter_width,in_channels,out_channels】
分别表示 卷积核的高度,宽度,输入通道数,输出通道数
strides:一个长为4的list,表示每次卷积以后卷积窗口在input中滑动的距离
padding:有SAME和VALID两个选项,表示是否要保留图像边上那一圈不完全卷积的部分,如果是SAME,则保留
use_cudnn_on_gpu:是否使用cudnn加速,默认是True
2.tf.nn.max_pool(value,ksize,strides,padding,data_format="NHWC",name=None)
value: 一个4维的张量,格式为【batch,height,width,channels】与conv2d中input格式一样
ksize:长为4的list,表示池化窗口的尺寸
strides:池化窗口的滑动值,与conv2d中的一样
padding:与conv2d中用法一样
具 体 实 例
1.读入数据
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #import data mnist = input_data.read_data_sets("C:\\Users\\1\\AppData\\Local