Closed hccho2 closed 4 years ago
@hccho2 님 오류 제보 정말 감사드립니다. 말씀하신 것이 정확합니다. 다음과 같습니다.
len(self.vocab)
len(self.vocab) + 1
그런데 기존 코드에서는 make_input
이 호출될 때마다 self.vocab의 길이(len)를 확인하는 비효율이 발생하므로, 실제 실행 코드에서는 unk id와 pad id를 클래스 변수로 빼두는 쪽으로 개선하였습니다. (전자/종이)책에는 코드의 핵심을 보는게 더 중요하므로 token_ids.extend([len(self.vocab) + 1] * (max_token_length - tokens_length))
이대로 표시를 해두었습니다.
한편 attention을 포함해 해당 버그까지 반영한 점수는 51번 이슈에 공유드리겠습니다. 관심 가져주셔서 진심으로 감사드립니다.
page 258-259
WordEmbeddingTuner() --> make_input()에서 PAD의 token id를 만들 때.
이렇게 되어 있는데, self.vocab가 [UNK],[PAD]를 포함하지 않고 있기 때문에,
이렇게 되어야 될 것 같습니다. 확인 부탁드립니다.
page 258에서 ID(len(self.vocab) -1)를 붙혀 해당길이로 맞춰준다. --> ID(len(self.vocab) +1)를 붙혀 해당길이로 맞춰준다.