【发布时间】:2019-02-27 21:50:30
【问题描述】:
我需要将字典输入到 Tensorflow 中的一组变量中,并实际更改它们的值。我试过:sess.run([], feed_dict=feed_dict),运行结果是使用feed_dict执行的,但是变量值没有更新。为了更新这些值,我还尝试对每个变量进行“加载”。这行得通,但效率极低。加载约 20 个 20M 数据的变量需要 10 秒。我需要它在 1 秒内。 (喂它只需要~100ms)有没有更有效的方法来做到这一点?
下面是一个例子:
import tensorflow as tf
import numpy as np
variables = []
for i in range(100):
variables.append(tf.Variable(np.random.rand(100, 100)))
sess = tf.Session()
feed_dict = dict()
for var in variables:
feed_dict[var] = np.ones((100, 100))
sess.run(tf.initialize_all_variables())
# this is fast but do not actaully load variables (~ 14ms)
sess.run(variables, feed_dict=feed_dict)
# this loads, but is extremely slow (~8s)
data = np.ones((100, 100))
for var in variables:
var.load(data, sess)
【问题讨论】:
-
请以 mcve 的形式显示代码。不知道你的意思
-
添加了一个例子。谢谢:-)
标签: tensorflow