我知道可以使用语句x.assign(1)
,然后调用Operation.run()
或Session.run()
的调用将值1
分配给Tensorflow变量x
。
但是,此解决方案将1
存储在内存中两次。当要分配的值很大时(例如,单词嵌入)。
如何将值从文件分配到张量变量而不存储2个值的副本?
您可以通过使用TensorFlow读取器避免将值存储在Python内存中。即,类似
的东西filename_queue = tf.train.string_input_producer("myfile")
x.assign(reader.read(filename_queue))
您想分配某些东西,而不是字符串,您可能必须必须将reader.read
与产生所需类型的OP相结合,即,IE,TextLineReader
tf.decode_csv
https://www.tensorflow.org/programmers_guide/reading_data