tensorflow中自带的mnist手写数字识别,运用最简单的单层神经网络,softmax激活函数,极客学院上说准确率有91%,我今天调整到了92%!

import tensorflow as tf
import numpy as np
import math
import tensorflow.examples.tutorials.mnist as mn
class Mnist:
def __init__(self):
sess = tf.InteractiveSession()
self.mnist = mn.input_data.read_data_sets("E:\\Python35\\Lib\\site-packages\\tensorflow\\examples\\tutorials\\mnist\\MNIST_data",one_hot=True)
self.x = tf.placeholder("float", shape=[None, 784])
self.y_ = tf.placeholder("float", shape=[None, 10])
self.W = tf.Variable(tf.zeros([784,10]))
self.b = tf.Variable(tf.zeros([10]))
self.y = tf.nn.softmax(tf.matmul(self.x,self.W) + self.b)
self.cross_entropy = -tf.reduce_sum(self.y_*tf.log(self.y))
sess.run(tf.global_variables_initializer()) self.bestModel = None
self.bestPredict = 0.0
self.bestIter = 0
self.bestRate = 0.0
self.bestSample = 0 self.iters = [1000,1200,1400]
self.rates = [0.01,0.02]
self.samples = [100,150,200] def train(self):
for iter in self.iters:
for rate in self.rates:
train_step = tf.train.GradientDescentOptimizer(rate).minimize(self.cross_entropy)
for sample in self.samples:
self.optimizer(iter, rate, sample, train_step) def optimizer(self,iter,rate,sample,train_step):
for i in range(iter):
batch = self.mnist.train.next_batch(sample)
model = train_step.run(feed_dict={self.x: batch[0], self.y_: batch[1]})
correct_prediction = tf.equal(tf.argmax(self.y, 1), tf.argmax(self.y_, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
predict = accuracy.eval(feed_dict={self.x: self.mnist.test.images, self.y_: self.mnist.test.labels})
if predict > self.bestPredict:
self.bestPredict = predict
self.bestModel = model
self.bestIter = iter
self.bestRate = rate
self.bestSample = sample def output(self):
print("bestRate:",self.bestRate,"bestIter:",self.bestIter,"bestSample:",self.bestSample,"bestPredict:",self.bestPredict) if __name__ == '__main__':
mnist = Mnist()
mnist.train()
mnist.output() E:\Python35\python.exe E:/PycharmProjects/test/com/python/machinelearning/tensorflowTest.py
Extracting E:\Python35\Lib\site-packages\tensorflow\examples\tutorials\mnist\MNIST_data\train-images-idx3-ubyte.gz
Extracting E:\Python35\Lib\site-packages\tensorflow\examples\tutorials\mnist\MNIST_data\train-labels-idx1-ubyte.gz
Extracting E:\Python35\Lib\site-packages\tensorflow\examples\tutorials\mnist\MNIST_data\t10k-images-idx3-ubyte.gz
Extracting E:\Python35\Lib\site-packages\tensorflow\examples\tutorials\mnist\MNIST_data\t10k-labels-idx1-ubyte.gz bestRate: 0.01 bestIter: 1000 bestSample: 100 bestPredict: 0.9193

tensorflow学习笔记(二)的更多相关文章

  1. tensorflow学习笔记二:入门基础 好教程 可用

    http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础   TensorFlow用张量这种数据结构来表示所有的数据.用一 ...

  2. tensorflow学习笔记二:入门基础

    TensorFlow用张量这种数据结构来表示所有的数据.用一阶张量来表示向量,如:v = [1.2, 2.3, 3.5] ,如二阶张量表示矩阵,如:m = [[1, 2, 3], [4, 5, 6], ...

  3. Tensorflow学习笔记二

    现在来开始安装Tensorflow吧 Tensorflow有两种模式, 一种GPU支持, 另外一种仅CPU支持 虚拟机仅有CPU支持, 那就第一种模式吧 有4种途径去安装 virtualenv &qu ...

  4. tensorflow学习笔记二----------变量

    tensorflow里面的变量表示,需要使用特定的语法进行.如果想构造一个行(列)向量,需要调用Variable函数进行.对两个变量进行操作,也要调用相应的函数. import tensorflow ...

  5. tensorflow学习笔记——使用TensorFlow操作MNIST数据(2)

    tensorflow学习笔记——使用TensorFlow操作MNIST数据(1) 一:神经网络知识点整理 1.1,多层:使用多层权重,例如多层全连接方式 以下定义了三个隐藏层的全连接方式的神经网络样例 ...

  6. tensorflow学习笔记——自编码器及多层感知器

    1,自编码器简介 传统机器学习任务很大程度上依赖于好的特征工程,比如对数值型,日期时间型,种类型等特征的提取.特征工程往往是非常耗时耗力的,在图像,语音和视频中提取到有效的特征就更难了,工程师必须在这 ...

  7. TensorFlow学习笔记——LeNet-5(训练自己的数据集)

    在之前的TensorFlow学习笔记——图像识别与卷积神经网络(链接:请点击我)中了解了一下经典的卷积神经网络模型LeNet模型.那其实之前学习了别人的代码实现了LeNet网络对MNIST数据集的训练 ...

  8. tensorflow学习笔记——VGGNet

    2014年,牛津大学计算机视觉组(Visual Geometry Group)和 Google DeepMind 公司的研究员一起研发了新的深度卷积神经网络:VGGNet ,并取得了ILSVRC201 ...

  9. tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)

    续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...

  10. TensorFlow学习笔记0-安装TensorFlow环境

    TensorFlow学习笔记0-安装TensorFlow环境 作者: YunYuan 转载请注明来源,谢谢! 写在前面 系统: Windows Enterprise 10 x64 CPU:Intel( ...

随机推荐

  1. HUAWEI,H3C 三层交换机 常用命令

    <HUAWEI> display ip interface brief,命令全局模式下可以查看所有端口下的ip地址及物理状态display this interface,命令用来显示当前接 ...

  2. win10 bcdedit testsigning

    win10 bcdedit testsigning # 禁用系统完整性检查和禁用驱动签名以及进入测试签名驱动模式> bcdedit.exe /set nointegritychecks on & ...

  3. rabbitmq监控之消息确认ack

    rabbitmq springboot ack 监控 一.测试环境 二.启动测试 一直以来,学习rabbitmq都是跟着各种各样的教程.博客.视频和文档,撸起袖子就是干!!!最后,也成功了. 当然,成 ...

  4. honeydctl命令

    # honeydctl Honeyd 1.5c Management Console Copyright (c) 2004 Niels Provos. All rights reserved. See ...

  5. 缓冲区溢出漏洞 ms04011

    DSScan使用 扫描目标主机是否存在ms04011漏洞 getos使用 获取操作系统类型 > getos.exe 192.168.1.101 ------------------------- ...

  6. centos7 上Docker安装与启动

    1.  docker  centos 文档地址 https://docs.docker.com/install/linux/docker-ce/centos/ 2. 安装环境说明: docker社区版 ...

  7. 小米8seroot后更改hosts文件记录

    1.先备份原有文件,在设置中有个备份与恢复,可以备份,备份后链接电脑,传电脑上 2.下载开发版miui,安装 3.解bl锁,先到官网申请,按照提示操作. 4.备份文件传到手机,恢复文件 5.获得roo ...

  8. Linux文件系统及管理

    Linux文件系统及管理 一.Linux系统的文件系统与目录结构   Linux系统的文件目录结构为一个单根倒置的树结构,具体表现如下图: 从CentOS7开始,以下目录与之前的版本发生变化 ◆/bi ...

  9. Bootstrap框架简介

    Bootstrap是Twitter公司(www. twitter.com)开发的一个基于HTML , CSS , JavaScript的技术框架,符合HTML和 CSS规范,且代码简洁.视觉优美.该框 ...

  10. Python爬虫入门——使用requests爬取python岗位招聘数据

    爬虫目的 使用requests库和BeautifulSoup4库来爬取拉勾网Python相关岗位数据 爬虫工具 使用Requests库发送http请求,然后用BeautifulSoup库解析HTML文 ...