不同形状的张量流

2024-04-26 10:02:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我在返回两个变量vwt的元组时遇到了一个问题,其中v有{},而{}有{}。wt是一个权重值的变量。我想返回map_fn中的元组(v,wt)

我的代码看起来有点接近这一点

tf.map_fn(fn, nonzeros(Matrix, dim, row))

nonzeros(Matrix, dim, row) returns a (index, value)

fn将返回一个元组,但我得到的错误输出是:

^{pr2}$

Tags: 代码mapindexvaluetf错误matrixreturns
1条回答
网友
1楼 · 发布于 2024-04-26 10:02:03

这里返回tf.while循环的结果。tf.while循环返回一个包含多个值的元组,在您的例子中,我们可以看到while循环返回了一个感兴趣的值和一个作为元组的计数器值。在

(<tf.Tensor 'map_2/while/while/Exit_1:0' shape=(20,) dtype=float32>, <tf.Tensor 'map_2/while/Sub:0' shape=() dtype=int64>)

map_fn返回的意思可能只是这两个值中的第一个。因此,在这里没有显示的代码中,应该有如下内容:

^{pr2}$

你所拥有的是:

return tf.while(...)

因此,您看到的错误是抱怨<dtype: 'int64'>与传入的tuple不匹配。当您修复while循环时,您将比较<dtype: 'int64'>和{},这两个值可能都是(20,)并且将匹配(尽管您可能最终会出现int/float问题)。在

相关问题 更多 >