Tensorflow:通过索引来访问稀疏张量值的方法

2024-09-29 06:33:38 发布

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

我想通过索引在恒定的访问时间内访问稀疏张量的值。例如,如果稀疏张量表示为:

sparse = tf.SparseTensor(indices=[[0, 0], [1, 2]], values=[1, 3], dense_shape=[3, 4])

我想要一个类似的手术:

^{pr2}$

有什么简单的方法吗?我见过类似的例子tf.在哪里与tf.聚集. 然而,这似乎是一种非常低效的访问这些值的方法,因为我现在(在最坏的情况下)必须搜索整个索引张量,以便找到匹配项(随着张量中值的数量线性增长),而不是固定的访问时间。在


Tags: 方法数量tf时间情况线性例子dense
1条回答
网友
1楼 · 发布于 2024-09-29 06:33:38

由于Tensorflow中稀疏张量是以坐标格式存储的,在O(1)时间内没有任何有效的索引或切片访问方法,所以在恒定的访问时间内不可能得到值。 顺便说一下,您可以使用tf.sparse_slice按索引进行访问,这比使用tf.where和{}更简单。在

相关问题 更多 >