首页 > 解决方案 > 是否可以将操作分配给操作中使用的同一变量?

问题描述

我在 tensorflow 中有一个操作,如下所示:

x = tf.where(tf.is_nan(x), tf.zeros_like(x), x)

这可能吗,因为操作会不断更改新变量 x,同时将其用于代码执行?

标签: pythontensorflow

解决方案


是的,无论是否使用 TensorFlow,都可以在 Python 中重用变量名。(与之前关联的张量x仍然存在,但不能再通过代码访问x,因为它已被分配了一个新值。x左侧的实际与右侧使用的=张量不同。)x

您可以将代码重写为

y = tf.where(tf.is_nan(x), tf.zeros_like(x), x)

并且它具有相同的含义,只要在其余代码中使用y而不是x.


推荐阅读