在tensorflow中,常量和不可训练变量之间有什么区别?

在tensorflow中,常量和不可训练变量之间有什么区别?,tensorflow,Tensorflow,根据, tf.constant()的值多次存储在内存中 这提供了一个实用的答案,当您有一些不应改变值的大张量时,是使用tensorflow常量还是不可训练变量 然而,我不清楚为什么两者都存在,以及为什么(在什么情况下)tf.constant会被复制到内存中 如果执行W=tf.constant(embedding,name=“W”)操作,则嵌入的值将存储两次——在embedding中的numpy侧和Wop中的TensorFlow侧。请注意,constant值存储在Graph对象中,该对象未针对大型

根据,

tf.constant()
的值多次存储在内存中

这提供了一个实用的答案,当您有一些不应改变值的大张量时,是使用tensorflow常量还是不可训练变量


然而,我不清楚为什么两者都存在,以及为什么(在什么情况下)
tf.constant
会被复制到内存中

如果执行
W=tf.constant(embedding,name=“W”)
操作,则嵌入的值将存储两次——在
embedding
中的numpy侧和
W
op中的TensorFlow侧。请注意,
constant
值存储在
Graph
对象中,该对象未针对大型并行数据传输进行优化(至少之前有性能投诉),同时
变量
值存储已优化

那么,何时使用常量更好?