我想以批处理的方式从TensorFlow的DNC实现中实现这个公式。在
对于批稠密张量,这是非常直接的。在
# 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缺乏稀疏批处理矩阵和稀疏索引。在
试着转换成一个密集的张量:
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
相关问题 更多 >
编程相关推荐