MNIST分类
来源:互联网 发布:金城学院继续教育jaVa 编辑:程序博客网 时间:2024/05/23 02:03
import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data#载入数据集mnist = input_data.read_data_sets("MNIST_data",one_hot=True)#每个批次100张照片batch_size = 100#计算一共有多少个批次n_batch = mnist.train.num_examples // batch_size#定义两个placeholderx = tf.placeholder(tf.float32,[None,784])y = tf.placeholder(tf.float32,[None,10])#创建一个简单的神经网络,输入层784个神经元,输出层10个神经元W = tf.Variable(tf.zeros([784,10]))b = tf.Variable(tf.zeros([10]))prediction = tf.nn.softmax(tf.matmul(x,W)+b)#二次代价函数#square是求平方#reduce_mean是求平均值loss = tf.reduce_mean(tf.square(y-prediction))#使用梯度下降法来最小化loss,学习率是0.2train_step = tf.train.GradientDescentOptimizer(0.2).minimize(loss)#初始化变量init = tf.global_variables_initializer()#结果存放在一个布尔型列表中correct_prediction = tf.equal(tf.argmax(y,1),tf.argmax(prediction,1))#argmax返回一维张量中最大的值所在的位置#求准确率accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))#cast是进行数据格式转换,把布尔型转为float32类型with tf.Session() as sess: #执行初始化 sess.run(init) #迭代21个周期 for epoch in range(21): #每个周期迭代n_batch个batch,每个batch为100 for batch in range(n_batch): #获得一个batch的数据和标签 batch_xs,batch_ys = mnist.train.next_batch(batch_size) #通过feed喂到模型中进行训练 sess.run(train_step,feed_dict={x:batch_xs,y:batch_ys}) #计算准确率 acc = sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels}) print("Iter " + str(epoch) + ",Testing Accuracy " + str(acc))
阅读全文
0 0
- MNIST分类
- tf8.mnist分类学习
- Tensorflow-rnn(mnist分类)
- TensorFlow实现 mnist分类
- Python 神经网络实现MNIST分类
- Python Adaboost 实现MNIST 分类
- 用RNN做MNIST分类
- Python Multinomial Logistics 实现MNIST分类
- 使用逻辑回归对MNIST数字分类
- Tensorflow MNIST机器学习入门 分类学习
- tensorflow 使用softmax 分类mnist数据库
- tensorflow 多层感知机 分类mnist
- 自学Tensorflow之交叉熵MNIST分类
- tensorflow实战1:lstm实现mnist分类
- tensorflow实现线性分类之MNIST
- mnist
- mnist
- mnist
- 当DDD遇上微服务
- Java案例-用户注册邮箱绑定激活功能实现
- Android界面编程之Notification(通知)
- JSON 数组
- 51nod 1874 字符串排序
- MNIST分类
- Abstract
- PRD怎么写
- VMware下安装CentOs 7(上)
- ROS配置<一>:Ubuntu16.04下安装Kinetic
- HTML排版标签
- Java实现对cookie的增删改查
- Struts2-01
- 51Nod 1016 水仙花数 V2