TensorFlow之多层感知器(MLP)
2017-07-25 22:13
459 查看
程序参考自《TensorFlow实战》,其中隐含层使用了RELU激活,并进行了dropout,优化方法使用了Adagrad,最终能到到98%的正确率。
# -*- coding:utf-8 -*- from tensorflow.examples.tutorials.mnist import input_data import tensorflow as tf # data dir='/home/kaka/Documents/input_data' mnist = input_data.read_data_sets(dir, one_hot=True) # model sess = tf.InteractiveSession() hd1in_units = 784 hd1out_units = 400 w1 = tf.Variable(tf.truncated_normal([hd1in_units, hd1out_units], stddev=0.1)) b1 = tf.Variable(tf.zeros(hd1out_units)) w2 = tf.Variable(tf.zeros([hd1out_units, 10])) b2 = tf.Variable(tf.zeros([10])) x = tf.placeholder(tf.float32, [None, hd1in_units]) keep_prob = tf.placeholder(tf.float32) #dropout proportion hidden1 = tf.nn.relu(tf.matmul(x, w1) + b1) hidden1_drop = tf.nn.dropout(hidden1, keep_prob) y = tf.nn.softmax(tf.matmul(hidden1_drop, w2) + b2) # loss y_ = tf.placeholder(tf.float32, [None, 10]) cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y)) correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1)) accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) train_step = tf.train.AdagradOptimizer(0.3).minimize(cross_entropy) tf.global_variables_initializer().run() for i in range(100000): batch_xs, batch_ys = mnist.train.next_batch(100) sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys, keep_prob: 0.75}) if i % 100 == 0: train_accuracy = accuracy.eval(feed_dict={ x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0}) print('step %d, training accuracy %g' % (i, train_accuracy)) print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0}))
相关文章推荐
- 【TensorFlow】TensorFlow 的多层感知器(MLP)
- TensorFlow之双隐含层多层感知器(MLP)
- tensorflow搭建多层感知器网络(MLP)
- 各框架下(tensorflow, pytorch, theano, keras)实现几个基础结构神经网络(mlp, autoencoder, CNNs, recurrent, recursive)
- MLP(多层感知器)神经网络
- TFboy养成记 多层感知器 MLP
- 多层感知器 MLP
- 神经网络_多层感知机MLP_以mnist为例(tensorflow和keras实现)
- tensorflow中MLP识别mnist手写数字
- 神经网络/多层感知器(MLP)架构:选择隐藏层数量和大小的标准
- 【TensorFlow-windows】(三) 多层感知器进行手写数字识别(mnist)
- 模式识别(Pattern Recognition)学习笔记(十九)--多层感知器模型(MLP)
- TensorFlow实现MLP(多层感知机)
- 利用Keras实现多层感知器(MLP)模型和卷积神经网络(CNN)模型并对手写数字图像分类
- 深度学习框架Tensorflow学习(五)-----多层感知器模型
- 深度学习笔记——深度学习框架TensorFlow之MLP(十四)
- 利用 TensorFlow 高级 API Keras 实现 MLP,CNN,LSTM
- 模式识别(Pattern Recognition)学习笔记(十九)--多层感知器模型(MLP)
- TensorFlow入门深度学习–05.多层感知器实现MNIST数据分类
- 【模式识别】多层感知器 MLP