Modify array type to accommodate OOV_RANK (#5429)

Modify indices array type in `Vocab.prune_vectors` to accommodate
OOV_RANK index as max(uint64).
This commit is contained in:
adrianeboyd 2020-05-13 10:25:05 +02:00 committed by GitHub
parent f333c2a011
commit 24e7108f80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -315,7 +315,7 @@ cdef class Vocab:
priority = [(-lex.prob, self.vectors.key2row[lex.orth], lex.orth) priority = [(-lex.prob, self.vectors.key2row[lex.orth], lex.orth)
for lex in self if lex.orth in self.vectors.key2row] for lex in self if lex.orth in self.vectors.key2row]
priority.sort() priority.sort()
indices = xp.asarray([i for (prob, i, key) in priority], dtype="i") indices = xp.asarray([i for (prob, i, key) in priority], dtype="uint64")
keys = xp.asarray([key for (prob, i, key) in priority], dtype="uint64") keys = xp.asarray([key for (prob, i, key) in priority], dtype="uint64")
keep = xp.ascontiguousarray(self.vectors.data[indices[:nr_row]]) keep = xp.ascontiguousarray(self.vectors.data[indices[:nr_row]])
toss = xp.ascontiguousarray(self.vectors.data[indices[nr_row:]]) toss = xp.ascontiguousarray(self.vectors.data[indices[nr_row:]])