我有一个稀疏张量(张量是使用分类值上的tf.Transform生成的(,我使用以下命令将其转换为密集表示
bow_indecies = tf.sparse_tensor_to_dense(sparse_bow_indecies, default_value=0)
这导致大小为CCD_ 1的矩阵。阵列看起来像这个
[[ 597 1157 60 0 0 0]
[ 939 1212 169 10 0 0]
[ 242 719 215 520 57 6]]
我想将零填充从尾随反转为前导,以便看起来像这个
[[ 0 0 0 597 1157 60]
[ 0 0 939 1212 169 10]
[ 242 719 215 520 57 6]]
你知道怎么做吗?
如果可以指定SparseTesor
的索引,那么有一种简单的方法可以做到这一点。
我的意思是,你必须告诉你的SparseTesor
对象(sparse_bow_indecies
(非零值的索引。
文档中说"sp_input中没有的索引被分配了default_value。"https://www.tensorflow.org/api_docs/python/tf/sparse_tensor_to_dense
所以在你的情况下
可能是您的SparseTesor
对象(sparse_bow_indecies
(中的索引。对于您期望的结果,应该是如下所示。
SparseTensor(indices=[[0, 3], [0, 4],[0, 5],[1, 2],[1, 3],.....], values=[............], dense_shape=[3, 6])
或者尝试覆盖索引(如果SparseTensor
对象已经存在(。
sparse_bow_indecies.indices = =[[0, 3], [0, 4],[0, 5],[1, 2],[1, 3],.....] #Kept dots for continuation.