TensorFlow中⽂⼿册注意:本⽂只为读书笔记。
第⼀章 起步
- 起步
- [介绍](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)
python入门教程(非常详细)书- [Tensor排名、形状和类型](SOURCE/resources/dims_types.md)
第七章 其他
- 其他
- [常见问题汇总](SOURCE/faq.md)
- [相关资源](SOURCE/resource.md)
-
[个⼈学习⼼得](SOURCE/personal.md)
第⼀章 起步
TensorFlow安装?
第⼆章 基础教程
2.1 MNIST机器学习⼊门
2.1.1 The MNIST Data | MNIST数据集
2.1.2 Softmax回归介绍
evidence i是指x属于数字i的证据  x j是784个像素。这是图像x是属于类i的可能。 这⾥i属于0-9共10个数,W为10x784,x为784个像素元的⽮量。
将evidence i转换为y,(利⽤softmax函数),
seagull
像素xj属于类yi的可能性 共有784x10个乘法要计算 对应的公式⽅程为:
更进⼀步,可以写成更加紧凑的⽅式:
y=softmax(Wx+b)
2.1.3 实现回归模型
sqlserver2008修复功能
为了在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 = ad_data_sets("MNIST_data/", one_hot=True)
Extracting MNIST_
Extracting MNIST_
Extracting MNIST_
Extracting MNIST_
>>> x = tf.placeholder("float", [None, 784])
>>> W = tf.s([784, 10]))
>>> b = tf.s([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])
python合法标识符判断
>>> 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/:40] Local device intra op parallelism threads: 1
I tensorflow/core/common_runtime/:58] Direct session inter op parallelism threads:
1
>>> sess.run(init)
>>> for i in range(1000):typology
...  batch_xs, batch_ys = _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"))
opengl最新版本下载
>>> print sess.run(accuracy, feed_dict={st.images, y_:st.labls})
0.9188
2.1.5 Evaluating Our Model || 评估我们的模型
⾸先让我们出那些预测正确的标签。tf.argmax()是⼀个⾮常有⽤的函数,它能给你在⼀个张量⾥沿着某条轴的最⾼条⽬的索引值。⽐如, tf.argmax(y,1)是模型认为每个输⼊最有可能对应的那些标签,⽽tf.argmax(y_,1)代表正确的标签。
2.2 深⼊ MNIST

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。