gpt4 book ai didi

tensorflow - 更新 tensorflow 中的变量值

转载 作者:行者123 更新时间:2023-12-04 22:57:00 24 4
gpt4 key购买 nike

我有一个关于通过 tensorflow python api 更新张量值的基本问题。

考虑代码片段:

x = tf.placeholder(shape=(None,10), ... )
y = tf.placeholder(shape=(None,), ... )
W = tf.Variable( randn(10,10), dtype=tf.float32 )
yhat = tf.matmul(x, W)

现在让我们假设我想实现某种算法来迭代更新 W 的值(例如一些优化算法)。这将涉及以下步骤:
for i in range(max_its):
resid = y_hat - y
W = f(W , resid) # some update

这里的问题是 W LHS 上是一个新的张量,而不是 W用于 yhat = tf.matmul(x, W) !也就是说,创建了一个新变量,值 W在我的“模型”中使用没有更新。

现在解决这个问题的一种方法是
 for i in range(max_its):
resid = y_hat - y
W = f(W , resid) # some update
yhat = tf.matmul( x, W)

这导致为我的循环的每次迭代创建一个新的“模型”!

有没有更好的方法来实现这一点(在 python 中),而无需为循环的每次迭代创建一大堆新模型——而是更新原始张量 W可以这么说“就地”?

最佳答案

变量有一个assign方法。试试:W.assign(f(W,resid))

关于tensorflow - 更新 tensorflow 中的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40919706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com