tensorflow学习笔记(二)
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学习笔记(二)的更多相关文章
- tensorflow学习笔记二:入门基础 好教程 可用
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础 TensorFlow用张量这种数据结构来表示所有的数据.用一 ...
- tensorflow学习笔记二:入门基础
TensorFlow用张量这种数据结构来表示所有的数据.用一阶张量来表示向量,如:v = [1.2, 2.3, 3.5] ,如二阶张量表示矩阵,如:m = [[1, 2, 3], [4, 5, 6], ...
- Tensorflow学习笔记二
现在来开始安装Tensorflow吧 Tensorflow有两种模式, 一种GPU支持, 另外一种仅CPU支持 虚拟机仅有CPU支持, 那就第一种模式吧 有4种途径去安装 virtualenv &qu ...
- tensorflow学习笔记二----------变量
tensorflow里面的变量表示,需要使用特定的语法进行.如果想构造一个行(列)向量,需要调用Variable函数进行.对两个变量进行操作,也要调用相应的函数. import tensorflow ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(2)
tensorflow学习笔记——使用TensorFlow操作MNIST数据(1) 一:神经网络知识点整理 1.1,多层:使用多层权重,例如多层全连接方式 以下定义了三个隐藏层的全连接方式的神经网络样例 ...
- tensorflow学习笔记——自编码器及多层感知器
1,自编码器简介 传统机器学习任务很大程度上依赖于好的特征工程,比如对数值型,日期时间型,种类型等特征的提取.特征工程往往是非常耗时耗力的,在图像,语音和视频中提取到有效的特征就更难了,工程师必须在这 ...
- TensorFlow学习笔记——LeNet-5(训练自己的数据集)
在之前的TensorFlow学习笔记——图像识别与卷积神经网络(链接:请点击我)中了解了一下经典的卷积神经网络模型LeNet模型.那其实之前学习了别人的代码实现了LeNet网络对MNIST数据集的训练 ...
- tensorflow学习笔记——VGGNet
2014年,牛津大学计算机视觉组(Visual Geometry Group)和 Google DeepMind 公司的研究员一起研发了新的深度卷积神经网络:VGGNet ,并取得了ILSVRC201 ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...
- TensorFlow学习笔记0-安装TensorFlow环境
TensorFlow学习笔记0-安装TensorFlow环境 作者: YunYuan 转载请注明来源,谢谢! 写在前面 系统: Windows Enterprise 10 x64 CPU:Intel( ...
随机推荐
- 2019 用友网络java面试笔试题 (含面试题解析)
本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条. 用友网络等公司offer,岗位是Java后端开发,最终选择去了 用友网络. 面试了很多家公司,感觉大部分公司考察 ...
- 【故障解决】enq: PS - contention
[故障解决]enq: PS - contention 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能, ...
- day 14作业
作业 现有文件info.txt, 其内容如下: alpha male 18 1000 bravo male 28 2000 charlie female 38 3000 delta female 48 ...
- docker中基于centos镜像部署lnmp环境 php7.3 mysql8.0 最新版
Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源. Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上 ...
- Oracle 数据类型比较规则
数值 较大的值被认为大于较小的值.所有负数都小于零,所有正数都小于零.因此,-1小于100:-100小于-1. 浮点值NaN(not a number))大于任何其他数值,且等于自身. 日期时间值 较 ...
- django的缓存实例应用
那么多的可配置方法,我们用那个呢. 首先在setting中配置你想要的缓存,我这里就用文件的方式是配置.如图: 第二步: 第三步: 第四步: 实现结果: 总结: 都是指明当前资源的有效期,控制浏览器 ...
- C语言中指针是什么?
学习交流可加 微信读者交流①群 (添加微信:coderAllen) 程序员技术QQ交流①群:736386324 --- ==恶名昭著的指针究竟是什么== " 指针是一种保存变量地址的变量,在 ...
- Centos7安装配置Nginx_笔记
从Nginx官方网站下载稳定的主要分支版本.然后解压开来. 在Linux中需要使用编译工具编译安装Nginx. 首先安装“Development Tools”工具,包含了所有编译Nginx所需的依赖工 ...
- 【(图) 旅游规划 (25 分)】【Dijkstra算法】
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> us ...
- Javascript技能
Javascript技能 说一说我对 Javascript 这门语言的一些总结(适合前端和后端研发) 基本认识 一些心得 思维脑图的链接(icloud 分享): https://www.icloud. ...