tf.sequence_mask(length:Tensor, max_len: int)
会有升维的效果,在length的shape基础上加一个维度,size是maxLen
API doc:
examples:
tf.tile(input:Tensor, multiples: Tensor)
multiples是1d的,长度和input的shape对应的tensor维度一致,每一个multiple的元素意味着input对应维度复制的次数
API doc:
examples:
tf.where(condition, x, y)
API doc:
x 和 y 的维度必须保持一致,condition的shape可以小于x和y的,但是仅有的维度必须和x/y前几个维度的大小依次保持一致
examples:
x = [ [ [1,2],[3,4] ],[ [1,2],[3,4] ] , [ [5,6],[7,8] ],[ [5,6],[7,8] ] ], shape (2,2,2)
y = [ [ [0,0],[0,0] ],[ [0,0],[0,0] ] , [ [0,0],[0,0] ],[ [0,0],[0,0] ] ], shape (2,2,2)
condition = [ [true, false], [false, true] ], shape = (2,2)
returns [ [ [1,2],[3,4] ],[ [0,0],[0,0] ] , [ [0,0],[0,0] ],[ [5,6],[7,8] ] ], shape (2,2,2)