- 第一步:定义模型,即前向计算的流程,定义好之后就可以得到一个确定的计算图了,在这个步骤具体需要定义tf.placeholder:用来传入数据,tf.Variable:用来存放模型参数(tf.Variable在计算图中可以存储并更新)和具体的计算操作:
示例:
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmul(x, W) + b)- 第二步,定义loss,并指定优化器
示例:
y_ = tf.placeholder(tf.float32, [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.float32))
print(accuracy.eval({x: mnist.test.images, y_: mnist.test.labels}))版权声明:本文为PKU_Jade原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。