注意:本文只为读书笔记。

第一章 起步

- 起步
- [介绍](SOURCE/get_started/introduction.md)
- [下载及安装](SOURCE/get_started/os_setup.md)
- [基本用法](SOURCE/get_started/basic_usage.md)

第二章 基础教程

- 教程
- [总览](SOURCE/tutorials/overview.md)
- [MNIST 机器学习入门](SOURCE/tutorials/mnist_beginners.md)
- [深入 MNIST](SOURCE/tutorials/mnist_pros.md)
- [TensorFlow 运作方式入门](SOURCE/tutorials/mnist_tf.md)
- [卷积神经网络](SOURCE/tutorials/deep_cnn.md)
- [字词的向量表示](SOURCE/tutorials/word2vec.md)
- [递归神经网络](SOURCE/tutorials/recurrent.md)
- [曼德布洛特(Mandelbrot)集合](SOURCE/tutorials/mandelbrot.md)
- [偏微分方程](SOURCE/tutorials/pdes.md)
- [MNIST数据下载](SOURCE/tutorials/mnist_download.md)

第三章 运作方式

- 运作方式
- [总览](SOURCE/how_tos/overview.md)
- [变量:创建、初始化、保存和加载](SOURCE/how_tos/variables.md)
- [TensorBoard:可视化学习](SOURCE/how_tos/summaries_and_tensorboard.md)
- [TensorBoard:图表可视化](SOURCE/how_tos/graph_viz.md)
- [读取数据](SOURCE/how_tos/reading_data.md)
- [线程和队列](SOURCE/how_tos/threading_and_queues.md)
- [添加新的Op](SOURCE/how_tos/adding_an_op.md)
- [自定义数据读取](SOURCE/how_tos/new_data_formats.md)
- [使用gpu](SOURCE/how_tos/using_gpu.md)
- [共享变量](SOURCE/how_tos/variable_scope.md)

第四章 Python API

第五章 C++ API

第六章 资源

- 资源
- [总览](SOURCE/resources/overview.md)
- [BibTex 引用](SOURCE/resources/bib.md)
- [示例使用](SOURCE/resources/uses.md)
- [FAQ](SOURCE/resources/faq.md)
- [术语表](SOURCE/resources/glossary.md)
- [Tensor排名、形状和类型](SOURCE/resources/dims_types.md)

第七章 其他

- 其他
- [常见问题汇总](SOURCE/faq.md)
- [相关资源](SOURCE/resource.md)
- [个人学习心得](SOURCE/personal.md)

第一章 起步

TensorFlow安装?

http://www.cnblogs.com/2008nmj/p/8710527.html

第二章 基础教程

2.1 MNIST机器学习入门

2.1.1 The MNIST Data | MNIST数据集

2.1.2 Softmax回归介绍

evidencei是指x属于数字i的证据  xj是784个像素。这是图像x是属于类i的可能。

这里i属于0-9共10个数,W为10x784,x为784个像素元的矢量。

将evidencei转换为y,(利用softmax函数),

像素xj属于类yi的可能性 共有784x10个乘法要计算 对应的公式方程为:

更进一步,可以写成更加紧凑的方式:

y=softmax(Wx+b)

2.1.3 实现回归模型

为了在python中高效的进行数值计算,我们通常会调用如Numpy外部函数库,把类似矩阵乘法这样的复杂运算使用其他外部语言实现。不幸的是,从外部计算切换回Python的每一个操作,仍然是一个很大的开销。如果你用GPU来进行外部计算,这样的开销会更大。用分布式的计算方式,也会花费更多的资源用来传输数据。

TensorFlow也把复杂的计算放在python之外完成,但是为了避免前面说的那些开销,它做了进一步完善。TensorFlow不单独地运行单一的复杂计算,而是让我们可以先用图描述一系列可交互的计算操作,然后全部一起在Python之外运行。(这样类似的运行方式,可以在不少的机器学习库中看到。)

forwithy@forwithy-virtual-machine:~$ python
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> import input_data
>>> mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
Extracting MNIST_data/train-images-idx3-ubyte.gz
Extracting MNIST_data/train-labels-idx1-ubyte.gz
Extracting MNIST_data/t10k-images-idx3-ubyte.gz
Extracting MNIST_data/t10k-labels-idx1-ubyte.gz
>>> x = tf.placeholder("float", [None, 784])
>>> W = tf.Variable(tf.zeros([784, 10]))
>>> b = tf.Variable(tf.zeros([10])
>>> y = tf.nn.softmax(tf.matmul(x, W) + b)

2.1.4 训练模型

为了训练我们的模型,我们首先需要定义一个指标来评估这个模型是好的。其实,在机器学习,我们通常定义指标来表示一个模型是坏的,这个指标称为成本(cost)或损失(loss),然后尽量最小化这个指标。但是,这两种方式是相同的。

一个非常常见的,非常漂亮的成本函数是“交叉熵”(cross-entropy)。交叉熵产生于信息论里面的信息压缩编码技术,但是它后来演变成为从博弈论到机器学习等其他领域

里的重要技术手段。它的定义如下:

其中y是我们预测的概率分布,y'是实际的分布(我们输入的one-hot vector)。比较粗糙的理解是,交叉熵是用来衡量我们的预测用于描述真相的低效性。更详细的关于交叉熵的解释超出本教程的范畴,但是你很有必要好好理解它。

>>> y_ = tf.placeholder("float", [None, 10])
>>> cross_entropy = -tf.reduce_sum(y_*tf.log(y))
>>> train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
>>> init = tf.initialize_all_variables()
>>> sess = tf.Session()
I tensorflow/core/common_runtime/local_device.cc:40] Local device intra op parallelism threads: 1
I tensorflow/core/common_runtime/direct_session.cc:58] Direct session inter op parallelism threads: 1
>>> sess.run(init)
>>> for i in range(1000):
... batch_xs, batch_ys = mnist.train.next_batch(100)
... sess.run(train_step, feed_dict={x:batch_xs, y_:batch_ys})
... >>>
>>> correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
>>> accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
>>> print sess.run(accuracy, feed_dict={x:mnist.test.images, y_:mnist.test.labls})
0.9188

2.1.5 Evaluating Our Model || 评估我们的模型

首先让我们找出那些预测正确的标签。tf.argmax()是一个非常有用的函数,它能给你在一个张量里沿着某条轴的最高条目的索引值。比如, tf.argmax(y,1)是模型认为每个输入最有可能对应的那些标签,而tf.argmax(y_,1)代表正确的标签。

2.2 深入 MNIST

https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/g3doc/tutorials/mnist/

TensorFlow中文手册的更多相关文章

  1. TensorFlow开发者证书 中文手册

    经过一个月的准备,终于通过了TensorFlow的开发者认证,由于官方的中文文档较少,为了方便大家了解这个考试,同时分享自己的备考经验,让大家少踩坑,我整理并制作了这个中文手册,请大家多多指正,有任何 ...

  2. 机器学习资源汇总----来自于tensorflow中文社区

    新手入门完整教程进阶指南 API中文手册精华文章TF社区 INTRODUCTION 1. 新手入门 1.1. 介绍 1.2. 下载及安装 1.3. 基本用法 2. 完整教程 2.1. 总览 2.2.  ...

  3. NVelocity介绍,NVelocity中文手册文档及实例下载

    NVelocity是什么velocity英音:[vi'lɔsiti]美音:[və'lɑsətɪ]近在做一个项目,客户要求有网站模板功能,能够自主编辑网站的风格,因为这个系统是为政府部门做子站系统,举个 ...

  4. (转)Sqoop中文手册

    Sqoop中文手册 1.     概述 本文档主要对SQOOP的使用进行了说明,参考内容主要来自于Cloudera SQOOP的官方文档.为了用中文更清楚明白地描述各参数的使用含义,本文档几乎所有参数 ...

  5. man中文手册配置

    1.ubuntu环境man中文手册配置 1)  终端输入sudo apt-get install manpages-zh 2)  安装后修改配置文件sudo gedit /etc/manpath.co ...

  6. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数·简明中文手册 总览

    <zw版·Halcon-delphi系列原创教程> Halcon分类函数·简明中文手册 总览 Halcon函数库非常庞大,光HALCONXLib_TLB.pas文件,源码就要7w多行,但核 ...

  7. phpredis中文手册——《redis中文手册》 php版

    本文是参考<redis中文手册>,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法). 目录(使用CTRL+F快速查找命令): Key ...

  8. socket.io 中文手册 socket.io 中文文档

    socket.io 中文手册,socket.io 中文文档转载于:http://www.cnblogs.com/xiezhengcai/p/3956401.html 服务端 io.on('connec ...

  9. Zepto,Zepto API 中文版,Zepto 中文手册,Zepto API,Zepto API 中文版,Zepto 中文手册,Zepto API 1.0, Zepto API 1.0 中文版,Zepto 1.0 中文手册,Zepto 1.0 API-translate by yaotaiyang

    Zepto,Zepto API 中文版,Zepto 中文手册,Zepto API,Zepto API 中文版,Zepto 中文手册,Zepto API 1.0, Zepto API 1.0 中文版,Z ...

随机推荐

  1. php时间 显示刚刚 几分钟前等

    功能示例: $now = time();foreach($sys_res as $k => $v){ $day = intval(floor(($now - $v->system_time ...

  2. 我的HibernateSearch笔记

    话不多说,直接上代码: 实体类: package com.smt.pojo; import java.io.Serializable; import javax.persistence.Column; ...

  3. mysql索引之八:myisam压缩(前缀压缩)索引

    myisam使用前缀压缩来减少索引的大小,从而让更多的索引可以放入内存中,默认只压缩字符串,但通过参数配置也可以对整数做压缩,myisam压缩每个索引块的方法是,先完全保存索引块中的第一个值,然后将其 ...

  4. 杂项-WiFi:JotSpot

    ylbtech-杂项-WiFi:JotSpot JotSpot公司成立于2003年,由曾经创建了搜索引擎Excite的Joe Kraus一手创建,曾获得了来自Mayfield和RedPoint 两家风 ...

  5. Oracle日常性能问题查看

    1 判断回滚段竞争的sql --当Ratio大于2时存在回滚段竞争,需要增加更多的回滚段) ratio from v$rollstat rs, v$rollname rn where rs.USN = ...

  6. (转)编写 DockerFile

    这几天在研究怎样制作docker image. 其中使用dockerfile是一种可记录制作image的过程的并且是容易重复使用的一种方式.在园子里看到了一篇好文,于是分享到这里~~ 原文链接: ht ...

  7. Python Twisted系列教程14:Deferred用于同步环境

    作者:dave@http://krondo.com/when-a-deferred-isnt/  译者:杨晓伟(采用意译) 你可以从这里从头开始阅读这个系列. 介绍 这部分我们要介绍Deferred的 ...

  8. Angular4中利用promise异步加载gojs

    GoJS是一个实现交互类图表(比如流程图,树图,关系图,力导图等等)的JS库 gojs提供了angular的基本例子,不过是离线版 https://github.com/NorthwoodsSoftw ...

  9. Python中特殊函数和表达式 filter,map,reduce,lambda

    1. filter 官方解释:filter(function or None, sequence) -> list, tuple, or string Return those items of ...

  10. 定时器Quartz ClassNotFound org.springframework.scheduling.quartz.SchedulerFactoryBean

    转自:https://blog.csdn.net/truong/article/details/37508003 没有添加spring-context-support-3.2.4.RELEASE.ja ...