我想在tf.函数中的Tensor上使用for循环,如下所示:
@tf.function
def test(x):
for i in range(tf.shape(x)[0]):
print(i)
我定义:
S = tf.random.uniform([2,2],0,1)
然后
test(S)
给予
Tensor("while/Placeholder:0", shape=(), dtype=int32)
当
for i in range(tf.shape(S)[0]):
print(i)
返回
0
1
为什么我不能在tf.函数的Tensor长度上循环?
1条答案
按热度按时间1aaf6o9v1#
使用
tf.print
:请在这里检查在
tf.function
中使用python操作的副作用。