tensorflow 学习笔记7 普通神经网络实现mnist手写识别
来源:互联网 发布:nba2k17mc捏脸数据 编辑:程序博客网 时间:2024/06/04 20:09
import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data#number 1 to 10 data自动下载数据集mnist = input_data.read_data_sets('MNIST_data', one_hot=True)def add_layer(inputs, in_size, out_size, activation_function=None,): # add one more layer and return the output of this layer Weights = tf.Variable(tf.random_normal([in_size, out_size])) biases = tf.Variable(tf.zeros([1, out_size]) + 0.1,) Wx_plus_b = tf.matmul(inputs, Weights) + biases if activation_function is None: outputs = Wx_plus_b else: outputs = activation_function(Wx_plus_b,) return outputsdef compute_accuracy(v_xs, v_ys): global prediction #用v_xs得出y的预测值:y是根据哪个数值概率更高得出来的 y_pre = sess.run(prediction, feed_dict={xs: v_xs}) #比较预测值与真实值是否相等 correct_prediction = tf.equal(tf.argmax(y_pre,1), tf.argmax(v_ys,1)) #计算多少个是对的多少个是错的 accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) #run得到一个百分比 result = sess.run(accuracy, feed_dict={xs: v_xs, ys: v_ys}) return result# define placeholder for inputs to networkxs = tf.placeholder(tf.float32, [None, 784]) # 28x28ys = tf.placeholder(tf.float32, [None, 10]) #10种输出# add output layer,激活函数softmax,用于分类的激活函数prediction = add_layer(xs, 784, 10, activation_function=tf.nn.softmax)# the error between prediction and real data,分类的loss函数:交叉熵代价函数cross_entropy = tf.reduce_mean(-tf.reduce_sum(ys * tf.log(prediction),reduction_indices=[1])) # loss#梯度下降优化法,最小化loss函数,学习率0.5train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)sess = tf.Session()# important stepinit = tf.global_variables_initializer()sess.run(init)for i in range(1000): #获取100个数据,100个100个学习 batch_xs, batch_ys = mnist.train.next_batch(100) sess.run(train_step, feed_dict={xs: batch_xs, ys: batch_ys}) if i % 50 == 0: #输出每一步的准确度 print(compute_accuracy(mnist.test.images, mnist.test.labels))
因为这是一般神经网络实现的手写识别,所以准确度并不是很高:
阅读全文
0 0
- tensorflow 学习笔记7 普通神经网络实现mnist手写识别
- [TensorFlow]入门学习笔记(2)-卷积神经网络mnist手写识别
- 神经网络-tensorflow实现mnist手写数字识别
- Tensorflow训练神经网络实现mnist手写识别
- tensorflow 学习笔记9 卷积神经网络(CNN)实现mnist手写识别
- tensorflow 学习笔记12 循环神经网络RNN LSTM结构实现MNIST手写识别
- 【TensorFlow】神经网络MNIST手写识别
- TensorFlow学习---实现mnist手写数字识别
- 使用tensorflow卷积神经网络实现mnist手写数字识别
- TensorFlow学习笔记(3)----CNN识别MNIST手写数字
- TensorFlow学习笔记(二)MNIST手写数字识别
- TensorFlow学习笔记(3)--实现Softmax逻辑回归识别手写数字(MNIST数据集)
- Tensorflow学习笔记(二):利用CNN实现手写数字(mnist)识别
- TensorFlow笔记之一:MNIST手写数字识别
- 神经网络实现手写数字识别(MNIST)
- Tensorflow MNIST 手写识别
- Tensorflow 实现 MNIST 手写数字识别
- Tensorflow实现Softmax Regression 手写识别MNIST
- 物联网开发必知的8大安全关键技术
- 线程并发问题
- Linux(CentOS 6.5) 安装redis集群
- 字符串乘方(POJ NO.1408)
- 2017.8.7测试 题三 机器选择
- tensorflow 学习笔记7 普通神经网络实现mnist手写识别
- Java web学习笔记之Java bean
- 程序环境和预处理C语言(三)
- Android异步消息机制和AsyncTask接口的使用 [学习笔记]
- Keras入门mnist_mlp.py
- FileInputStream--文件输入流
- Git命令笔记
- Activiti流程图进度查看
- KMP算法详解