文章目录
tensorflow基本介绍
0.12版本tensorflow可以可视化,像web界面一样,好用。
安装Tensorflow
Tensorflow框架使用GPU很简单,只需要一行代码就可以搞定,不像之前要部署代码,需要一大堆配置文件,这里若你本地有一个GPU设备,在你的程序中指定一行代码,就可以了,就会自动用GPU计算这部分内容了。
安装Tensorflow
可以安装不带GPU版本的Tensorflow或者带GPU版本的Tensorflow都可以的。
01tensorflow图的结构
分析Tensorflow框架数据流图结构的思想
图
整个框架思想就是数据流动。在图的整个结构里面进行运算流动等。
拿到特征数据用算法进行计算即可,这个计算没有向网页等请求数据,所以Tensorflow大多数是计算密集型的。
所以定义一张图实际就是分配一块内存。会话就是在这个分配的内存中进行操作的。
也可以单独分配另外一块内存,创建并存储另一个图结构。
可以再单独分配一块内存,存储另外一个图结构即程序,
如Session是一个op,但他里面不是tensor,而定义的constant,的确是一个op,这个op里面装的是一个数据如11,这个数据就是tensor类型。所以基本所有操作都是op,张量其实就是指里面的数据。如a实际就是一个数据,打印并没有打印出来,只是打印了他的类型,所以一般计算用的数据就是tensor去计算的。即op只是一个载体,tensor相当于是一个被载物体。
会话
前端这些API写好图结构后,会话就要解析这些图结构,解析之后要运算,这里运算有很多设备:如安装GPU后有很多设备,我们可以指定设备,这个活就是会话干的。
定义了这些结构或资源,他们与图是绑定的,即会话只能使用一张图,即只能使用这张图中的资源,开启或释放这张图中的资源。
run掌握资源,在整个程序结束后与线程一样,需要回收,所以会话也需要回收的,即close释放,这样麻烦,所以有上下文管理器with,执行结束后,会默认调用close执行结束。
config作用是可以知道这张图中定义的所有的资源,或者是张量以及op操作,以及add操作,在哪里运行,默认都在本机里面的CPU上运行,即add与constant操作都在CPU0中进行的,可以看到某些运算是在哪个设备上运行的。
这种交互式在调试时候方便,不必要每次都实例化会话并run了。
会话的run方法
说明sum2被重载成tensor类型了。
数值不确定,运行时候可以提供。实时训练时候用。
run主要是运行图的一些结构,主要是op。运行好后结果就有了。
比如数据从文件中去读,可以一次性读100个数据,给他训练,此时可以用placeholder了。
张量的定义以及数据
如在numpy中将一维reshape成二维,即就新生成一个二维的张量数据。
运算API介绍
方差越小,分布宽度越窄,否则越宽。