tensorflow手写体识别(一)

来源:互联网 发布:海康威视端口未生效 编辑:程序博客网 时间:2024/05/16 01:41

1.简介

Tensorflow:张量流。
首先,Tensor代表了执行一个操作(运算)所产生的值。其次,一个Tensor实例并不会保存具体的值,而只是代表了产生这些值的运算方式。好像有些拗口,也就是说假如有一个加法操作add,令c = add(1,1)。那么c就是一个tensor实例了,代表了1+1的结果,但是它并没有存储2这个具体的值,它只知道它代表1+1这个运算。从这里也可以看出,tensorflow里的api都是惰性求值,等真正需要知道具体的值的时候,才会执行计算,其他时候都是在定义计算的过程。

一张图让你理解tensorflow
这里写图片描述
数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。“节点” 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。张量从图中流过的直观图像是这个工具取名为“Tensorflow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。
图片及文字来源于:http://www.tensorfly.cn/

2.安装使用

下载python3.5或者3.6均可
打开dos窗口:
安装tensorflow

pip install --upgrade tensorflow

3.小例子

import tensorflow as tfhello = tf.constant('Hello world, TensorFlow!')sess = tf.Session()print(sess.run(hello))

import tensorflow as tf
类似于java中的导入依赖库,之后调用tensorflow的API即可以直接用tf
tf.constant:新建一个常量
tf.Session() : tf的执行引擎(也称为tf会话)
sess.run(hello): 执行结果

注意:
Python 与 TensorFlow 中的命名(names)与执行

TensorFlow 的计算管理和 Python 完全不同。按照 Hadley Wickham 的说法,对于这两者都该牢记的是:一个对象(obejct)不会对应(have)一个命名(见图 1)。为了观察 Python 和 TensorFlow 的相似性(以及差异),让我们看看他们是如何引用(refer to)对象和处理执行的。

这里写图片描述

Python 代码中的变量名并不是它们代表的那样;它们只是指向对象。因此,当你写出以下的代码:foo = [] 和 bar = foo,不仅说明 foo 和 bar 的值相等,并且强调了 foo 就是 bar。也就是说它们指向了相同的列表对象。

具体参见:http://mp.weixin.qq.com/s/2iDny8WM9IabfIfl3UsW0Q

阅读全文
0 0
原创粉丝点击