快捷方式

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 是张量中的元素数量。如果 sharedFalse,则文件必须至少包含 size * sizeof(dtype) 字节。如果 sharedTrue,则将在需要时创建文件。

注意

只有 CPU 张量可以映射到文件。

注意

目前,无法在 pinned memory 中创建由内存映射文件支持的存储的张量。

参数
  • filename (str) – 要映射的文件名

  • shared (bool) – 是否共享内存(是否将 MAP_SHAREDMAP_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, 可选) – 如果设置,则返回的张量将分配在 pinned memory 中。仅适用于 CPU 张量。默认值:False

示例:
>>> 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)

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源