根据this answer,
tf.constant()
的值在内存中多次存储。
当你有一个不应该改变价值的大张量时,这为使用张量流常数或不可训练变量提供了一个实际的答案。
然而,我不清楚为什么两者都存在,以及为什么(以及在何种情况下)tf.constant
将被复制到内存中。
答案 0 :(得分:1)
如果您执行W = tf.constant(embedding, name="W")
,则嵌入的值会存储两次 - 位于embedding
中的numpy侧和W
op中的TensorFlow侧。请注意,constant
值存储在Graph
对象中,该对象未针对大型并行数据传输进行优化(至少在acac487a之前存在性能投诉),同时Variable
值存储为优化