LongmaoTeamTf / deep_recommenders

Deep Recommenders
Apache License 2.0
324 stars 108 forks source link

DeepRecommend.src.transformer.train中的load_data的到的decoder_targets是全零arrays #2

Closed suyujun91 closed 3 years ago

suyujun91 commented 4 years ago

源码:

 decoder_targets = np.zeros((len(answers_seqs), max_len, vocab_size), dtype='float32')
    for i, seq in enumerate(answers_seqs):
        for j, index in enumerate(seq):
            if j > 0: decoder_targets[i, j-1, index-1] = 1
            if index == 0: break

似乎是出问题在break处,因为padding为0,pad_sequences默认是 pre pad,所以遇见0 就break,导致decoder_targets未能成功赋值

aesdhj commented 4 years ago

同问,是不是前面的pad_sequence参数padding,truncating的参数应该设置为post,然后if index == 0: break应该在if j > 0: decoder_targets[i, j-1, index-1] = 1前面,不知道我的理解对不对

GrogusBall commented 3 years ago

v0.1.0中实验有部分错误,多谢指出~ v0.1.0中的Demo实验脚本已经废弃,请关注v1.1.x版本~ nlp相关算法实现正在优化中,目前仍延续v0.1.0版本(执行效率,代码实现都有待优化) Demo实验可以参考: 1、MultiHeadAttention: https://github.com/LongmaoTeamTf/deep_recommenders/blob/master/experiments/multi_head_attention.ipynb 2、Transformer https://github.com/LongmaoTeamTf/deep_recommenders/blob/master/experiments/transformer.ipynb

GrogusBall commented 3 years ago

No activte