Fix load fail for missing vectors

This commit is contained in:
Matthew Honnibal 2017-08-19 22:07:00 +02:00
parent a3c51a0355
commit b8e1603cc4

View File

@ -32,8 +32,6 @@ cdef class Vectors:
self.data = data self.data = data
self.key2row = {} self.key2row = {}
self.keys = np.ndarray((self.data.shape[0],), dtype='uint64') self.keys = np.ndarray((self.data.shape[0],), dtype='uint64')
for string in strings:
self.add(string)
def __reduce__(self): def __reduce__(self):
return (Vectors, (self.strings, self.data)) return (Vectors, (self.strings, self.data))
@ -101,13 +99,15 @@ cdef class Vectors:
def from_disk(self, path, **exclude): def from_disk(self, path, **exclude):
def load_keys(path): def load_keys(path):
self.keys = numpy.load(path) if path.exists():
for i, key in enumerate(self.keys): self.keys = numpy.load(path)
self.keys[i] = key for i, key in enumerate(self.keys):
self.key2row[key] = i self.keys[i] = key
self.key2row[key] = i
def load_vectors(path): def load_vectors(path):
self.data = numpy.load(path) if path.exists():
self.data = numpy.load(path)
serializers = OrderedDict(( serializers = OrderedDict((
('keys', load_keys), ('keys', load_keys),