Tensorflow Tensor和
之间的区别是什么Variable?我注意到在这个stackoverflow的答案中,我们可以Variable在任何Tensor可以使用的地方使用.但是,我没有尽到session.run()一个Variable:
A = tf.zeros([10]) # A is a Tensor
B = tf.Variable([111, 11, 11]) # B is a Variable
sess.run(A) # OK. Will return the values in A
sess.run(B) # Error.
Run Code Online (Sandbox Code Playgroud)
Eng*_*ero 26
Variable基本上是一个包装器,Tensor它在多个调用之间维护状态run,我认为通过保存和恢复图表可以使一些事情变得更容易.在运行变量之前,需要初始化变量.在定义变量时提供初始值,但必须调用其初始化函数才能在会话中实际分配此值,然后使用变量.一种常见的方法是使用tf.global_variables_initalizer().
例如:
import tensorflow as tf
test_var = tf.Variable([111, 11, 1])
sess = tf.Session()
sess.run(test_var)
# Error!
sess.run(tf.global_variables_initializer()) # initialize variables
sess.run(test_var)
# array([111, 11, 1], dtype=int32)
Run Code Online (Sandbox Code Playgroud)
至于为何使用Variables而不是Tensors,基本上变量是具有附加功能和实用程序的Tensor.您可以将Variable指定为trainable(默认值,实际值),这意味着您的优化器会调整它以尽量减少您的成本函数; 您可以指定变量驻留在分布式系统上的位置; 您可以轻松保存和恢复变量和图形.有关如何使用变量的更多信息,请参见此处.
| 归档时间: |
|
| 查看次数: |
7659 次 |
| 最近记录: |