tf理解
1.Tensor Flow中的计算可以表示为一个有向图,节点表示运算操作,节点之间的连接称为边
- 在计算的边中流动(flow)的数据被称为张量(tensor)
3 数据也就是tensor并不会持续保留,只是在计算图中过一遍。Variable是一类特殊的运算操作,它可以将一些需要保留的tensor存储在内存或显存中,比如神经网络模型中的系数。
4.(1)每一个节点该让什么硬件设备执行。(2)如何管理节点间的数据通信。P8
- 队列是TensorFlow任务调度的一个重要特性,容器是TensorFlow中一种特殊的管理长期变量的机制。
对tensorflow的理解
#tensorflow 即是操作运算tensor #常规方式无法直接操作运算一个tensor,所以就有了tensorflow,teensroflow的操作运算符都是作用于tensor上的,所以需要进行tensorflow的运算时就需要tensorflow的操作运算符了
feed_dict
6.feed_dict是一个字典,在字典中需要给出每一个用到的占位符的取值。在训练神经网络时需要每次提供一个批量的训练样本,如果每次迭代选取的数据要通过常量表示,那么TensorFlow 的计算图会非常大。因为每增加一个常量,TensorFlow 都会在计算图中增加一个结点。所以说拥有几百万次迭代的神经网络会拥有极其庞大的计算图,而占位符却可以解决这一点,它只会拥有占位符这一个结点。
feed_dict接受的值的类型: The value of a feed cannot be a tf.Tensor object. Acceptable feed values include Python scalars, strings, lists, numpy ndarrays, or TensorHandles.
tf.Variable()与tf.get_variable()的区别
https://blog.csdn.net/u012223913/article/details/78533910 https://www.zhihu.com/question/54513728
在 tf.name_scope下时,tf.get_variable()创建的变量名不受 name_scope 的影响,而且在未指定共享变量时,如果重名会报错,tf.Variable()会自动检测有没有变量重名,如果有则会自行处理。
tensorflow的初始化
用tf.get_variable()创建变量时,如果要创建的变量已经存在了,也有了具体值,则该函数参数initializer的后面的初始化不会执行,即不会重复初始化。
tensorflow的训练
在循环迭代的训练参数变量的过程中,在当前迭代下,计算损失所用到的参数变量是上一次迭代训练更新后的变量参数