torch.from_file
-
torch.from_file(filename, shared=None, size=0, *, dtype=None, layout=None, device=None, pin_memory=False) -
Создает тензор на CPU, хранилище которого связано с файлом, отображенным в память.
Если
sharedимеет значение True, память является общей для процессов. Все изменения записываются в файл. Еслиsharedимеет значение False, изменения тензора не влияют на файл.size— это количество элементов в тензоре. Еслиsharedимеет значениеFalse, файл должен содержать не менееsize * sizeof(dtype)байт. Еслиsharedимеет значениеTrue, файл будет создан при необходимости.Примечание
С файлами можно сопоставлять только тензоры на CPU.
Примечание
В настоящее время тензоры с хранилищами, связанными с файлом, отображенным в память, нельзя создавать в закрепленной памяти.
- Параметры:
-
- filename (str) – имя файла для сопоставления
-
shared (bool) – использовать ли общую память (передается ли
MAP_SHAREDилиMAP_PRIVATEв лежащий в основе вызов mmap(2)) - size (int) – количество элементов в тензоре
- Именованные аргументы:
-
-
dtype (
torch.dtype, необязательный) – требуемый тип данных возвращаемого тензора. По умолчанию: еслиNone, используется глобальное значение по умолчанию (см.torch.set_default_dtype()). -
layout (
torch.layout, необязательный) – требуемый формат возвращаемого тензора. По умолчанию:torch.strided. -
device (
torch.device, необязательный) – требуемое устройство для возвращаемого тензора. По умолчанию: еслиNone, используется текущее устройство для типа тензора по умолчанию (см.torch.set_default_device()).deviceбудет CPU для типов тензоров CPU и текущим устройством CUDA для типов тензоров CUDA. -
pin_memory (bool, необязательный) – если задано, возвращаемый тензор будет размещен в закрепленной памяти. Работает только для тензоров CPU. По умолчанию:
False.
-
dtype (
Пример:
>>> t = torch.randn(2, 5, dtype=torch.float64) >>> t.numpy().tofile('storage.pt') >>> t_mapped = torch.from_file('storage.pt', shared=False, size=10, dtype=torch.float64)
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.from_file.html