神经网络步骤包括前向传播过程、反向传播过程、反向传播过程中用到的正则化、指数衰减学习率、滑动均方方法的设置、以及测试模块。
前向传播过程:
def forward(x,regularizer):
w=
b=
y=
return y
def get_weight(shape,regularizer):
def get_bias(shape):
前向传播过程中,需要定义神经网络中的参数w和偏置b,定义由输入到输出的网络结构。通过定义函数get_weight()实现对参数w的设置,包括参数w的形式和是否正则化的标志。同样,通过定义函数get_bias()实现对偏置b的设置。
反向传播过程:
def backward(mnist):
x=tf.placehoder(dtype,shape)
y_=tf.placehoder(dtype,shape)
y=forward()
global_step=
loss=
train_step=tf.train.GradientOptimizer(learning_rate).minimize(loss,global_step=global_step)
saver=tf.train.Saver()
with tf.Session() as sess:
tf.initializer_all_variables().run()
for i in range(steps):
sess.run(train_steps,feed_dict={x:,y_:}}
if i %轮数==0: