一、卷积神经网络应用于MNIST数据集分类
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data',one_hot=True) #从MNIST_data目录读入数据,如果没有就自动下载
#每个批次的大小
batch_size = 100
#计算一共有多少个批次
n_batch = mnist.train.num_examples // batch_size
#初始化权值
def weight_variable(shape):
initial = tf.truncated_normal(shape,stddev=0.1)#生成一个截断的正态分布(shape表示生成张量的维度,stddev是标准差)
return tf.Variable(initial) #initial是初始化参数
#初始化偏置
def bias_variable(shape):
initial = tf.constant(0.1,shape=shape) #0.1表示常量,shape来指定其形状
return tf.Variable(initial) #initial是初始化参数
#卷积层
def conv2d(x,W):
#x input tensor(张量) of shape `[batch, in_height(高度), in_width(宽度), in_channels(通道)]`
#W filter / kernel tensor