Tensorflow的优点:
可视化Tensorboard
Checkpoints:实验状态的保存和恢复
自动微分/求导
Tensorflow上层库接口
Graph和Session
在Tensorflow里面,计算的定义和执行是被分开的,用数据流图Data Graph Flow来定义计算。这个的好处是可以进行分布式运算,把OP(Operation)分发到不同的机器Server上运算,将结果返回到master,再进行下一步的计算。
Tensor
直接print tensor是无法得到tensor的值得,因为这个只是在数据流图里定义了这个变量和操作,并没有真正去运行它,因此一定要在session里运行之后才能得到具体数值。
TensorFlow可能定义了一个非常复杂的图,但是TensorFlow只会执行我们run了的那一部有相关依赖分子图,而不会执行整张图,这样可以极大得提升程序的效率。如果要跑多个op的话可以传给它一个list[]
writer把计算图写到TensorFlow的日志文件里,方便TensorBoard进行可视化。
这里之所以出现const和const1是因为我们并没有给const赋名字,上面的a,b,x并不是名字。a,b,x只是表明operation依赖关系的中间量。下面是给了名字的
稍微注意一件事情,tf.multiply和tf.matmul是不一样的。
tf.multiply是逐点做点乘,tf.matmul是做矩阵乘法,矩阵之间有乘法也有点乘。
默认端口是6006