如何解决Tensorflow:如何获取张量的所有可能索引
我试图用来自4D密集张量的数据填充张量流中的6D稀疏张量。因为这比内置的稀疏到密集函数所能处理的更为复杂,所以我自己构建了这个,利用SparseTensor构造函数,该构造函数采用2D索引张量。在我的情况下,这个张量的维数为[num_elements,6]
,我想做的就是以[num_elements,4]
的形式获取所有密集张量的索引,然后我可以将它们与一个单独的维数张量连接起来{ {1}}获取我的6D索引。唯一的问题是我不确定如何获取4D张量中的每个有效索引。我可以想到两种方法,要么直接从我缺少的API的某个部分获取它,要么通过创建具有所有可能排列的张量来生成它。实际上,假设输入大小固定,则该索引数组将始终相同,因此可以为常数。对实施这两种方法有何建议?
解决方法
从from密集函数的源代码中我发现了
indices = array_ops.where_v2(
math_ops.not_equal(tensor,array_ops.constant(0,tensor.dtype)))
应该可以满足我的需求。