第一步:定义模型,即前向计算的流程,定义好之后就可以得到一个确定的计算图了,在这个步骤具体需要定义tf.placeholder:用来传入数据,tf.Variable:用来存放模型参数(tf.Variable在计算图中可以存储并更新)和具体的计算操作: 示例:
x = tf.placeholder (tf.float 32, [None, 784 ])
W = tf.Variable (tf.zeros ([784 , 10 ]))
b = tf.Variable (tf.zeros ([10 ]))
y = tf.nn .softmax (tf.matmul (x , W) + b)
y_ = tf.placeholder (tf.float 32, [None, 10 ])
cross_entropy = tf.reduce _mean(-tf.reduce _sum(y_*tf.log (y ), reduction_indices=[1 ])) #定义loss
train_step = tf.train .GradientDescentOptimizer (0.5 ).minimize (cross_entropy)
for i in range(1000 ):
batch_xs, batch_ys = mnist.train .next _batch(100 )
train_step.run (feed_dict={x :batch_xs, y_: batch_ys})
correct_prediction = tf.equal (tf.argmax (y , 1 ), tf.argmax (y_, 1 ))
accuracy = tf.reduce _mean(tf.cast (correct_prediction, tf.float 32))
print(accuracy.eval ({x : mnist.test .images , y_: mnist.test .labels }))