注:本文中所有代码均为py3,技术小白初入AI,请各位多多指教
初入Tensorflow,对它的计算机制和数据模型搞不清楚,因此系统地学习了之后做了一些整理。
Tensorflow从名字上就可分为tensor和flow
tensor即为张量 - 对应的tensorflow中的数据模型
flow为流 - 体现了它的计算模型
一、 计算图
Tensorflow中的所有计算都会转化为计算图。因此,Tensorflow中的变量计算和大部分编程语言不同。
就拿最简单的计算来讲,两个变量相加:
import tensorflow as tf
a = tf.constant([1.0, 2.0], name='a')
b = tf.constant([2.0, 3.0], name='b')
result = a + b
此处定义了两个向量常量a和b,result为a和b的和。以下就是a和b相加的计算图:
计算图中的每一个节点都是一个运算,每一条边代表了依赖关系。上图中,a和b这两个常量不依赖任何其他的计算。而add计算依赖两个常量的取值。因此,图中有一条a到Add的边,还有一条b到Add的边。且没有任何计算依赖于Add的结果,因此代表加法的节点Add没有指向其他节点的边。
Tensorflow的程序一般可以分成两个阶段