2024-04-26 10:02:03 发布
网友
我在返回两个变量v,wt的元组时遇到了一个问题,其中v有{},而{}有{}。wt是一个权重值的变量。我想返回map_fn中的元组(v,wt)
v
wt
map_fn
我的代码看起来有点接近这一点
tf.map_fn(fn, nonzeros(Matrix, dim, row)) nonzeros(Matrix, dim, row) returns a (index, value)
fn将返回一个元组,但我得到的错误输出是:
fn
这里返回tf.while循环的结果。tf.while循环返回一个包含多个值的元组,在您的例子中,我们可以看到while循环返回了一个感兴趣的值和一个作为元组的计数器值。在
tf.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返回的意思可能只是这两个值中的第一个。因此,在这里没有显示的代码中,应该有如下内容:
你所拥有的是:
return tf.while(...)
因此,您看到的错误是抱怨<dtype: 'int64'>与传入的tuple不匹配。当您修复while循环时,您将比较<dtype: 'int64'>和{},这两个值可能都是(20,)并且将匹配(尽管您可能最终会出现int/float问题)。在
<dtype: 'int64'>
tuple
这里返回
tf.while
循环的结果。tf.while
循环返回一个包含多个值的元组,在您的例子中,我们可以看到while循环返回了一个感兴趣的值和一个作为元组的计数器值。在从
^{pr2}$map_fn
返回的意思可能只是这两个值中的第一个。因此,在这里没有显示的代码中,应该有如下内容:你所拥有的是:
因此,您看到的错误是抱怨},这两个值可能都是(20,)并且将匹配(尽管您可能最终会出现int/float问题)。在
<dtype: 'int64'>
与传入的tuple
不匹配。当您修复while循环时,您将比较<dtype: 'int64'>
和{相关问题 更多 >
编程相关推荐