torch.Storage
torch.Storage 是对应默认数据类型(torch.get_default_dtype())的存储类的别名。例如,如果默认数据类型是 torch.float,则 torch.Storage 解析为
torch.FloatStorage。
第 torch.<type>Storage 和 torch.cuda.<type>Storage 类,
如 torch.FloatStorage, torch.IntStorage 等,实际上从未被实例化。调用它们的构造函数会创建一个带有适当 torch.dtype 和 torch.device 的 torch.TypedStorage。 torch.<type>Storage 类具有与 torch.TypedStorage 相同的所有类方法。
一个 torch.TypedStorage 是一个连续的、一维的特定 torch.dtype 元素数组。它可以被赋予任何 torch.dtype,内部数据将被适当地解释。torch.TypedStorage 包含一个 torch.UntypedStorage,它以未分类的字节数组形式保存数据。
每个步幅为 torch.Tensor 的元素包含一个 torch.TypedStorage,
它存储了所有 torch.Tensor 视图的数据。
-
class torch.TypedStorage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
bfloat16()[source]
将此存储转换为 bfloat16 类型
-
bool()[source]
将此存储转换为布尔类型
-
byte()[source]
将此存储转换为字节类型
-
char()[source]
将此存储转换为字符类型
-
clone()[source]
返回此存储的副本
-
complex_double()[source]
将此存储转换为复数双精度类型
-
complex_float()[source]
将此存储转换为复数浮点类型
-
copy_(source, non_blocking=None)[source]
-
cpu()[source]
如果此存储不在 CPU 上,则返回其在 CPU 上的副本。
-
cuda(device=None, non_blocking=False, **kwargs)[source]
返回此对象在CUDA内存中的副本。
如果该对象已经在CUDA内存中并且位于正确的设备上,那么不会执行复制操作,并返回原始对象。
- Parameters:
设备 (int) – 目标GPU的ID。默认为当前设备。
non_blocking (bool) – 如果 True 且源在锁定内存中,
复制将异步于主机。否则,
该参数无效。
**kwargs – 为了兼容性,可以包含键 async 代替
non_blocking 参数。
- Return type:
T
-
data_ptr()[source]
-
property device
-
double()[source]
将此存储转换为双精度类型
-
dtype: dtype
-
element_size()[source]
-
fill_(value)[source]
-
float()[source]
将此存储转换为浮点类型
-
classmethod from_buffer(*args, dtype=None, device=None, **kwargs)[source]
-
classmethod from_file(filename, shared=False, size=0) → Storage[source]
如果 shared 是 True,则所有进程之间共享内存。
所有更改都会写入文件。如果 shared 是 False,则存储中的更改不会影响文件。
size 是存储中的元素数量。如果 shared 是 False,
则文件必须至少包含 size * sizeof(Type) 字节
(Type 是存储类型)。如果 shared 是 True,文件将被
创建(如需要)。
- Parameters:
文件名 (str) – 要映射的文件名
共享 (布尔值) – 是否共享内存
大小 (int) – 存储中的元素数量
-
get_device()[source]
- Return type:
整数
-
half()[source]
将此存储转换为半精度类型
-
int()[source]
将此存储转换为 int 类型
-
property is_cuda
-
is_pinned()[source]
-
is_shared()[source]
-
is_sparse = False
-
long()[source]
将此存储转换为长整型
-
nbytes()[source]
-
pickle_storage_type()[source]
-
pin_memory()[source]
如果存储尚未固定,则将其复制到固定内存中。
-
resize_(size)[source]
-
share_memory_()[source]
将存储移动到共享内存。
对于已经位于共享内存中的存储以及不需要跨进程共享的 CUDA 存储,此操作不会产生任何效果。共享内存中的存储无法调整大小。
返回值: self
-
short()[source]
将此存储转换为 short 类型
-
size()[source]
-
tolist()[source]
返回一个包含此存储元素的列表
-
type(dtype=None, non_blocking=False)[source]
如果未提供 dtype,则返回类型,否则将此对象转换为指定的类型。
如果已经是正确的类型,则不会执行复制操作,并返回原始对象。
- Parameters:
-
- Return type:
联合[T, 字符串]
-
untyped()[source]
返回内部的 torch.UntypedStorage
-
class torch.UntypedStorage(*args, **kwargs)[source]
-
bfloat16()
将此存储转换为 bfloat16 类型
-
bool()
将此存储转换为布尔类型
-
byte()
将此存储转换为字节类型
-
char()
将此存储转换为字符类型
-
clone()
返回此存储的副本
-
complex_double()
将此存储转换为复数双精度类型
-
complex_float()
将此存储转换为复数浮点类型
-
copy_()
-
cpu()
如果此存储不在 CPU 上,则返回其在 CPU 上的副本。
-
cuda(device=None, non_blocking=False, **kwargs)
返回此对象在CUDA内存中的副本。
如果该对象已经在CUDA内存中并且位于正确的设备上,那么不会执行复制操作,并返回原始对象。
- Parameters:
设备 (int) – 目标GPU的ID。默认为当前设备。
non_blocking (bool) – 如果 True 且源在锁定内存中,
复制将异步于主机。否则,
该参数无效。
**kwargs – 为了兼容性,可以包含键 async 代替
non_blocking 参数。
-
data_ptr()
-
device: device
-
double()
将此存储转换为双精度类型
-
element_size()
-
fill_()
-
float()
将此存储转换为浮点类型
-
static from_buffer()
-
static from_file(filename, shared=False, size=0) → Storage
如果 shared 是 True,则所有进程之间共享内存。
所有更改都会写入文件。如果 shared 是 False,则存储中的更改不会影响文件。
size 是存储中的元素数量。如果 shared 是 False,
则文件必须至少包含 size * sizeof(Type) 字节
(Type 是存储类型)。如果 shared 是 True,文件将被
创建(如需要)。
- Parameters:
文件名 (str) – 要映射的文件名
共享 (布尔值) – 是否共享内存
大小 (int) – 存储中的元素数量
-
get_device()
- Return type:
整数
-
half()
将此存储转换为半精度类型
-
int()
将此存储转换为 int 类型
-
property is_cuda
-
is_pinned()
-
is_shared()
-
is_sparse: bool = False
-
is_sparse_csr: bool = False
-
long()
将此存储转换为长整型
-
mps()
如果此存储不在 CPU 上,则返回其在 CPU 上的副本。
-
nbytes()
-
new()
-
pin_memory()
如果存储尚未固定,则将其复制到固定内存中。
-
resize_()
-
share_memory_()
将存储移动到共享内存。
对于已经位于共享内存中的存储以及不需要跨进程共享的 CUDA 存储,此操作不会产生任何效果。共享内存中的存储无法调整大小。
返回值: self
-
short()
将此存储转换为 short 类型
-
size()
- Return type:
整数
-
tolist()
返回一个包含此存储元素的列表
-
type(dtype=None, non_blocking=False, **kwargs)
如果未提供 dtype,则返回类型,否则将此对象转换为指定的类型。
如果已经是正确的类型,则不会执行复制操作,并返回原始对象。
- Parameters:
-
-
untyped()
-
class torch.DoubleStorage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.float64[source]
-
class torch.FloatStorage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.float32[source]
-
class torch.HalfStorage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.float16[source]
-
class torch.LongStorage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.int64[source]
-
class torch.IntStorage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.int32[source]
-
class torch.ShortStorage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.int16[source]
-
class torch.CharStorage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.int8[source]
-
class torch.ByteStorage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.uint8[source]
-
class torch.BoolStorage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.bool[source]
-
class torch.BFloat16Storage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.bfloat16[source]
-
class torch.ComplexDoubleStorage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.complex128[source]
-
class torch.ComplexFloatStorage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.complex64[source]
-
class torch.QUInt8Storage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.quint8[source]
-
class torch.QInt8Storage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.qint8[source]
-
class torch.QInt32Storage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.qint32[source]
-
class torch.QUInt4x2Storage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.quint4x2[source]
-
class torch.QUInt2x4Storage(*args, wrap_storage=None, dtype=None, device=None)[source]
-
dtype: dtype = torch.quint2x4[source]