目录

torch.Storage

torch.Storage是存储类的别名,对应于 默认数据类型 ()。例如,如果 默认数据类型为 ,解析为 torch.floattorch.Storage

和 类, like 等不是 实际上曾经实例化。调用它们的构造函数会创建 a 与适当的 。 类具有所有 相同的类方法。torch.<type>Storagetorch.cuda.<type>Storagetorch.<type>Storage

A 是 特定 .它可以被赋予 any ,并且内部数据将被适当地解释。 包含一个 将数据保存为无类型的字节数组。

每个跨纹都包含一个 , 它存储了 views.

警告

外的所有存储类都将被删除 将来,并将在所有情况下使用。

Torch 的 Torch 类TypedStorage*argswrap_storage=dtype=device=_internal=错误[来源]
bfloat16)[来源]

将此存储强制转换为 bfloat16 类型。

bool)[来源]

将此存储强制转换为 bool 类型。

byte[来源]

将此存储强制转换为 byte 类型。

char[来源]

将此存储强制转换为 char 类型。

clone)[来源]

返回此存储的副本。

complex_double[来源]

将此存储强制转换为复杂的 double 类型。

complex_float)[来源]

将此存储强制转换为复杂的 float 类型。

copy_来源non_blocking=[来源]
cpu)[来源]

如果此存储尚未在 CPU 上,则返回该存储的 CPU 副本。

cudadevice=Nonenon_blocking=False**kwargs[来源]

返回 CUDA 内存中此对象的副本。

如果此对象已在 CUDA 内存中并且位于正确的设备上,则 不执行复制,返回原始对象。

参数
  • deviceint) – 目标 GPU ID。默认为当前设备。

  • non_blockingbool) – 如果源位于固定内存中, 复制将相对于主机异步。否则 该参数无效。True

  • **kwargs – 为了兼容性,可以包含 key 来代替 参数。asyncnon_blocking

返回类型

T

data_ptr[来源]
property device (设备)
double[来源]

将此存储转换为 double 类型。

dtypedtype
element_size[来源]
property filename 可选[str]

如果存储是从文件映射的内存,则返回与此存储关联的文件名。 或者,如果存储不是通过内存映射文件创建的。None

fill_value[来源]
float[来源]

将此存储强制转换为 float 类型。

float8_e4m3fn[来源]

将此存储强制转换为 float8_e4m3fn 类型

float8_e4m3fnuz[来源]

将此存储强制转换为 float8_e4m3fnuz 类型

float8_e5m2)[来源]

将此存储强制转换为 float8_e5m2 类型

float8_e5m2fnuz)[来源]

将此存储强制转换为 float8_e5m2fnuz 类型

类方法 from_buffer*args**kwargs[来源]
类方法 from_filefilenameshared=Falsesize=0 Storage[源]

创建由内存映射文件支持的 CPU 存储。

如果为 ,则内存在所有进程之间共享。 所有更改都将写入文件。如果为 ,则对 存储不会影响文件。sharedTruesharedFalse

size是存储中的元素数。如果 是 , 则文件必须至少包含 bytes ( 是存储类型)。如果是,则根据需要创建文件。sharedFalsesize * sizeof(Type)TypesharedTrue

参数
  • filenamestr) – 要映射的文件名

  • sharedbool) – 是否共享内存(无论 还是传递给 底层 mmap(2) 调用MAP_SHAREDMAP_PRIVATE)

  • sizeint) – 存储空间中的元素数量

get_device[来源]
返回类型

int

half[来源]

将此存储强制转换为 half type。

hpudevice=Nonenon_blocking=False**kwargs[来源]

返回 HPU 内存中此对象的副本。

如果此对象已在 HPU 内存中且位于正确的设备上,则 不执行复制,返回原始对象。

参数
  • deviceint) – 目标 HPU ID。默认为当前设备。

  • non_blockingbool) – 如果源位于固定内存中, 复制将相对于主机异步。否则 该参数无效。True

  • **kwargs – 为了兼容性,可以包含 key 来代替 参数。asyncnon_blocking

返回类型

T

int)[来源]

将此存储强制转换为 int 类型。

属性is_cuda
属性is_hpu
is_pinneddevice='cuda'[来源]

确定 CPU TypedStorage 是否已固定在设备上。

参数

devicestrtorch.device) – 要固定内存的设备。违约:'cuda'

返回

布尔变量。

is_shared)[来源]
is_sparse = False
long[来源]

将此存储强制转换为 long 类型。

nbytes)[来源]
pickle_storage_type[来源]
pin_memorydevice='cuda'[来源]

将 CPU TypedStorage 复制到固定内存(如果尚未固定)。

参数

devicestrtorch.device) – 要固定内存的设备。违约:。'cuda'

返回

固定的 CPU 存储。

resizable)[来源]
resize_大小[来源]
share_memory_)[来源]

short)[来源]

将此存储转换为 short type。

size[来源]
tolist)[来源]

返回包含此存储元素的列表。

typedtype=Nonenon_blocking=False[来源]

如果未提供 dtype,则返回类型,否则将此对象强制转换为 指定的类型。

如果此类型已正确,则不会执行复制,并且 返回 original 对象。

参数
  • dtypetype or string) – 所需的类型

  • non_blockingbool) – 如果 ,并且源位于固定内存中 并且 destination 在 GPU 上,反之亦然,则执行复制 异步。否则,参数 没有效果。True

  • **kwargs – 为了兼容性,可以包含 key 来代替 参数。arg 已弃用。asyncnon_blockingasync

返回类型

联合[Tstr]

untyped)[来源]

返回内部 .

Torch 的 Torch 类UntypedStorage*args**kwargs[来源]
bfloat16()

将此存储强制转换为 bfloat16 类型。

布尔()

将此存储强制转换为 bool 类型。

字节()

将此存储强制转换为 byte 类型。

byteswapdtype)

交换基础数据中的字节。

()

将此存储强制转换为 char 类型。

克隆()

返回此存储的副本。

complex_double()

将此存储强制转换为复杂的 double 类型。

complex_float()

将此存储强制转换为复杂的 float 类型。

复制_()
中央处理器()

如果此存储尚未在 CPU 上,则返回该存储的 CPU 副本。

cudadevice=Nonenon_blocking=False**kwargs)

返回 CUDA 内存中此对象的副本。

如果此对象已在 CUDA 内存中并且位于正确的设备上,则 不执行复制,返回原始对象。

参数
  • deviceint) – 目标 GPU ID。默认为当前设备。

  • non_blockingbool) – 如果源位于固定内存中, 复制将相对于主机异步。否则 该参数无效。True

  • **kwargs – 为了兼容性,可以包含 key 来代替 参数。asyncnon_blocking

data_ptr()
device设备
()

将此存储转换为 double 类型。

element_size()
property filename 可选[str]

如果存储是从文件映射的内存,则返回与此存储关联的文件名。 或者,如果存储不是通过内存映射文件创建的。None

填补_()
()

将此存储强制转换为 float 类型。

float8_e4m3fn()

将此存储强制转换为 float8_e4m3fn 类型

float8_e4m3fnuz()

将此存储强制转换为 float8_e4m3fnuz 类型

float8_e5m2()

将此存储强制转换为 float8_e5m2 类型

float8_e5m2fnuz()

将此存储强制转换为 float8_e5m2fnuz 类型

静态from_buffer()
静态 from_file文件名shared=Falsesize=0 存储

创建由内存映射文件支持的 CPU 存储。

如果为 ,则内存在所有进程之间共享。 所有更改都将写入文件。如果为 ,则对 存储不会影响文件。sharedTruesharedFalse

size是存储中的元素数。如果 是 , 则文件必须至少包含 bytes ( 是存储类型,如果文件必须包含在 最少字节数)。如果是,则根据需要创建文件。sharedFalsesize * sizeof(Type)TypeUnTypedStoragesizesharedTrue

参数
  • filenamestr) – 要映射的文件名

  • 共享bool) –

    是否共享内存(无论 或 传递给 底层 mmap(2) 调用MAP_SHAREDMAP_PRIVATE)

  • sizeint) – 存储空间中的元素数量

get_device()
返回类型

int

()

将此存储强制转换为 half type。

hpudevice=Nonenon_blocking=False**kwargs)

返回 HPU 内存中此对象的副本。

如果此对象已在 HPU 内存中且位于正确的设备上,则 不执行复制,返回原始对象。

参数
  • deviceint) – 目标 HPU ID。默认为当前设备。

  • non_blockingbool) – 如果源位于固定内存中, 复制将相对于主机异步。否则 该参数无效。True

  • **kwargs – 为了兼容性,可以包含 key 来代替 参数。asyncnon_blocking

int()

将此存储强制转换为 int 类型。

属性is_cuda
属性is_hpu
is_pinneddevice='cuda')

确定 CPU 存储是否已固定在设备上。

参数

devicestrtorch.device) – 要固定内存的设备。违约:。'cuda'

返回

布尔变量。

is_shared()
is_sparse: bool = False
is_sparse_csr: bool = False
()

将此存储强制转换为 long 类型。

议员()

如果此存储尚未在 MPS 上,请返回该存储的 MPS 副本。

n字节()
新增功能()
pin_memorydevice='cuda')

将 CPU 存储复制到固定内存(如果尚未固定)。

参数

devicestrtorch.device) – 要固定内存的设备。违约:。'cuda'

返回

固定的 CPU 存储。

可调整大小()
调整_()
share_memory_*args**kwargs[来源]

将存储移动到共享内存。

对于共享内存中已有的存储和 CUDA,这是无操作 存储,无需移动即可跨进程共享。 共享内存中的存储无法调整大小。

请注意,为了缓解此类问题,从同一对象上的多个线程调用此函数是线程安全的。 但是,在没有适当的 同步。有关更多详细信息,请参阅 Multiprocessing 最佳实践

注意

删除对共享内存中存储的所有引用时,关联的共享内存 对象也将被删除。PyTorch 有一个特殊的清理过程来确保这种情况发生 即使当前进程意外退出。

值得注意的是 和 with 之间的区别shared = True

  1. share_memory_使用 shm_open(3) 创建一个 POSIX 共享内存对象 while 使用 open(2) 打开用户传递的文件名。

  2. 两者都使用 mmap(2) 调用 with 将文件/对象映射到当前的虚拟地址空间MAP_SHARED

  3. share_memory_将在映射对象后调用对象,以确保共享内存 当没有进程打开对象时,将释放对象。 不会取消链接 文件。此文件是永久性的,将一直保留,直到用户将其删除。shm_unlink(3)torch.from_file(shared=True)

返回

self

()

将此存储转换为 short type。

大小()
返回类型

int

TOLIST()

返回包含此存储元素的列表。

typedtype=Nonenon_blocking=False**kwargs)

如果未提供 dtype,则返回类型,否则将此对象强制转换为 指定的类型。

如果此类型已正确,则不会执行复制,并且 返回 original 对象。

参数
  • dtypetype or string) – 所需的类型

  • non_blockingbool) – 如果 ,并且源位于固定内存中 并且 destination 在 GPU 上,反之亦然,则执行复制 异步。否则,参数 没有效果。True

  • **kwargs – 为了兼容性,可以包含 key 来代替 参数。arg 已弃用。asyncnon_blockingasync

无类型()
Torch 的 Torch 类DoubleStorage*argswrap_storage=dtype=device=_internal=错误[来源]
dtype dtype = torch.float64[来源]
Torch 的 Torch 类FloatStorage*argswrap_storage=dtype=device=_internal=错误[来源]
dtype dtype = torch.float32[来源]
Torch 的 Torch 类HalfStorage*argswrap_storage=dtype=device=_internal=错误[来源]
dtype dtype = torch.float16[来源]
Torch 的 Torch 类LongStorage*argswrap_storage=dtype=device=_internal=错误[来源]
dtype dtype = torch.int64[来源]
Torch 的 Torch 类IntStorage*argswrap_storage=dtype=device=_internal=错误[来源]
dtype dtype = torch.int32[来源]
Torch 的 Torch 类ShortStorage*argswrap_storage=dtype=device=_internal=错误[来源]
dtype dtype = torch.int16[来源]
Torch 的 Torch 类CharStorage*argswrap_storage=dtype=device=_internal=错误[来源]
dtype dtype = torch.int8[来源]
Torch 的 Torch 类ByteStorage*argswrap_storage=dtype=device=_internal=错误[来源]
数据类型 dtype = torch.uint8[来源]
Torch 的 Torch 类BoolStorage*argswrap_storage=dtype=device=_internal=错误[来源]
数据类型 dtype = torch.bool[来源]
Torch 的 Torch 类BFloat16Storage*argswrap_storage=dtype=device=_internal=[来源]
dtype dtype = torch.bfloat16[来源]
Torch 的 Torch 类ComplexDoubleStorage*argswrap_storage=dtype=device=_internal=[来源]
dtype dtype = torch.complex128[来源]
Torch 的 Torch 类ComplexFloatStorage*argswrap_storage=dtype=device=_internal=[来源]
dtype dtype = torch.complex64[来源]
Torch 的 Torch 类QUInt8Storage*argswrap_storage=dtype=device=_internal=错误[来源]
dtype dtype = torch.quint8[来源]
Torch 的 Torch 类QInt8Storage*argswrap_storage=dtype=device=_internal=错误[来源]
dtype dtype = torch.qint8[来源]
Torch 的 Torch 类QInt32Storage*argswrap_storage=dtype=device=_internal=错误[来源]
dtype dtype = torch.qint32[来源]
Torch 的 Torch 类QUInt4x2Storage*argswrap_storage=dtype=device=_internal=[来源]
dtype dtype = torch.quint4x2[来源]
Torch 的 Torch 类QUInt2x4Storage*argswrap_storage=dtype=device=_internal=[来源]
dtype dtype = torch.quint2x4[来源]

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

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

查看教程

资源

查找开发资源并解答您的问题

查看资源