hellokitty753159
hellokitty753159
> 谢谢指正。这里确实是有问题,在pytorch版本已经改过来了。 > 原先pad和, 共用0是考虑到pad已经由seq_len指出来了,和一般不会连续出现,用同一个符号应该影响不大。模型也没有decoder。这两个字符不起什么作用。 那convert函数中 return [vocab.get(w, 0) for w in words] 这里的函数应该是将unk置为0吧。与pad和冲突,是否应该改成vocab.get(w, 1) (您pkl提供的unk是1) 我已经看到您的pytorch版本对这些问题修改过啦。但是我现在的任务都是在keras改的,所以还是打算在keras验证效果,再实现pytorch版本,希望您指导一下上述问题。 如果方便提供一下keras版本和pytorch版本将desc.txt文本数据转换为词汇表映射的代码,方便我检测我的处理方式是否正确。感觉细节影响还是不小的。感谢。
> 可以的,改成vocab.get(w,1)试试效果有没有提升。 > 词汇表构建的代码如下。 > > ``` > from collections import Counter > def create_dictionary(lang_file,vocabsize): > input_file=open(lang_file, 'r', encoding='latin1') > print("Counting words in %s" % lang_file) > counter = Counter()...