如何使用TensorFlow中的稀疏张量进行计算?

时间:2016-12-14 11:52:54

标签: python tensorflow sparse-matrix

我想以批量方式从TensorFlow中的DNC实现中实现此公式。

eqn1
eqn2
eqn3

使用批量密集张量,它非常直接。

# w [B, N], p [B, N], L [B, N, N], B=batch_size
dot_prod = tf.batch_matmul(tf.expand_dims(w, axis=2), tf.expand_dims(p, axis=1))
one_prod = 1 - tf.expand_dims(w, 1) - tf.expand_dims(w, 2) 
L =  one_prod * pre_L + dot_prod

有没有办法用稀疏张量实现这个? w p L 稀疏但TensorFlow缺乏稀疏批处理matmul和稀疏索引。

1 个答案:

答案 0 :(得分:0)

尝试投入密集的张量:

tf.sparse_to_dense( sparse_indices, output_shape, sparse_values, default_value=0, validate_indices=True, name=None )

用法示例: mat = tf.sparse_to_dense(inds, [n, class_size], vals)

请参阅此处的文档:https://www.tensorflow.org/api_docs/python/tf/sparse_to_dense