INNER CODE UNIT · Python
build_mask_matrix
yxuansu/SimCTG · dialogue_generation/loss_func.py:9
def build_mask_matrix(seqlen, valid_len_list, prefix_len = 0):
'''
prefix_len: the length of prefix that we do not want to compute CL loss for.
(1) if a sequence of length 4 contains zero padding token (i.e., the valid length is 4),
then the loss padding matrix looks like
[0., 1., 1., 1.],
[1., 0., 1., 1.],
[1., 1., 0., 1.],
[1., 1., 1., 0.]
(2) if a sequence of length 4 contains 1 padding token (i.e., the valid length is 3),
then the loss padding matrix looks like
[0., 1., 1., 0.],
[1., 0., 1., 0.],
[1., 1., 0., 0.],
[0., 0., 0., 0.]
'''