使用TensorFlow实现DNN(3)

这一部分相对前面工作要简单很多,

n_epoch = 400 batch_size = 50 with tf.Session() as sess: init.run() for epoch in range(n_epoch): for iteration in range(mnist.train.num_examples // batch_size):#需要迭代的轮数 X_batch,y_batch = mnist.train.next_batch(batch_size) sess.run(training_op,feed_dict={X:X_batch,y:y_batch}) acc_train = accuracy.eval(feed_dict={X:X_batch,y:y_batch}) acc_test = accuracy.eval(feed_dict={X:mnist.test.images,mnist.test.labels}) print (epoch,"Train accuracy", acc_train,"Test accuracy",acc_test) saver.save(sess, "./my_model.pk")

上面这段代码使用的是mini-batch方法训练神经网络,最后将模型持久化到本地。后续的使用

with tf.Session() as sess: saver.restore(sess, "./my_model.pk") #加载 X_new_scaled = mnist.test.images[:20] Z = logits.eval(feed_dict={X: X_new_scaled}) #模型 y_pred = np.argmax(Z, axis=1) 总结

本文介绍了TF在实际数据集MNIST上面的使用,为input和target创建占位符,创建神经网络的layer,得到一个DNN,并为整个模型设置损失函数,对损失函数进行优化求解,最后对模型进行评估。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13117.html