在使用tensorflow处理一些tensor时,有时需要对一个tensor取平均,可以使用tf.reduce_mean操作,但是这个没法处理带有mask的tensor数据,本文主要就是利用tensorflow的基本操作实现带mask的平均。
tf.reduce_mean
比如我们的数据是3维tensor,shape=(B,N,H),B表示batch_size、N表示最大长度、H表示向量维度,这样的3维tensor在NLP相关模型中很常见。
# input tensor
tensor = tf.constant([[[1, 2, 3], [3, 4, 5], [5, 6, 7]],
[[1, 1, 2], [3, 3, 4], [