Commit 1c1fd730 authored by Myle Ott's avatar Myle Ott Committed by Facebook Github Bot
Browse files

Close memory maps

Summary: Pull Request resolved: https://github.com/fairinternal/fairseq-py/pull/655

Differential Revision: D15816573

fbshipit-source-id: ac0118a1d407dc132cc7d82e029eac6c8ec76d2a
parent 6d1233fa
...@@ -383,11 +383,16 @@ class MMapIndexedDataset(torch.utils.data.Dataset): ...@@ -383,11 +383,16 @@ class MMapIndexedDataset(torch.utils.data.Dataset):
_warmup_mmap_file(path) _warmup_mmap_file(path)
self._bin_buffer = memoryview(np.memmap(path, mode='r', order='C')) self._bin_buffer_mmap = np.memmap(path, mode='r', order='C')
self._bin_buffer = memoryview(self._bin_buffer_mmap)
self._sizes = np.frombuffer(self._bin_buffer, dtype=np.int32, count=self._len, offset=offset) self._sizes = np.frombuffer(self._bin_buffer, dtype=np.int32, count=self._len, offset=offset)
self._pointers = np.frombuffer(self._bin_buffer, dtype=np.int64, count=self._len, self._pointers = np.frombuffer(self._bin_buffer, dtype=np.int64, count=self._len,
offset=offset + self._sizes.nbytes) offset=offset + self._sizes.nbytes)
def __del__(self):
self._bin_buffer_mmap._mmap.close()
del self._bin_buffer_mmap
@property @property
def dtype(self): def dtype(self):
return self._dtype return self._dtype
...@@ -422,7 +427,13 @@ class MMapIndexedDataset(torch.utils.data.Dataset): ...@@ -422,7 +427,13 @@ class MMapIndexedDataset(torch.utils.data.Dataset):
self._index = self.Index(index_file_path(self._path)) self._index = self.Index(index_file_path(self._path))
_warmup_mmap_file(data_file_path(self._path)) _warmup_mmap_file(data_file_path(self._path))
self._bin_buffer = memoryview(np.memmap(data_file_path(self._path), mode='r', order='C')) self._bin_buffer_mmap = np.memmap(data_file_path(self._path), mode='r', order='C')
self._bin_buffer = memoryview(self._bin_buffer_mmap)
def __del__(self):
self._bin_buffer_mmap._mmap.close()
del self._bin_buffer_mmap
del self._index
def __len__(self): def __len__(self):
return len(self._index) return len(self._index)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment