torch.Storage¶
一个 torch._TypedStorage 是一个连续的、一维的数组,包含特定 torch.dtype 类型的元素。它可以被赋予任何
torch.dtype,内部数据将被正确解释。
每个步幅为 torch.Tensor 的元素包含一个 torch._TypedStorage,
它存储了所有 torch.Tensor 视图的数据。
为了向后兼容,还有 torch.<type>Storage 个类
(比如 torch.FloatStorage, torch.IntStorage 等)。这些
类实际上并不会被实例化,调用它们的构造函数会创建
一个带有适当 torch.dtype 的 torch._TypedStorage。
torch.<type>Storage 个类拥有与
torch._TypedStorage 完全相同的类方法。
此外,为了向后兼容性,torch.Storage 是与默认数据类型对应的存储类的别名
(torch.get_default_dtype())。例如,如果默认数据类型是
torch.float,torch.Storage 将解析为
torch.FloatStorage。
-
class
torch._TypedStorage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
-
cuda(device=None, non_blocking=False, **kwargs)[source]¶ 返回此对象在CUDA内存中的副本。
如果该对象已经在CUDA内存中并且位于正确的设备上,那么不会执行复制操作,并返回原始对象。
-
property
device¶
-
dtype: torch.dtype¶
-
classmethod
from_file(filename, shared=False, size=0) → Storage[source]¶ 如果 shared 是 True,则所有进程之间共享内存。 所有更改都会写入文件。如果 shared 是 False,则存储中的更改不会影响文件。
size 是存储中的元素数量。如果 shared 是 False, 则文件必须至少包含 size * sizeof(Type) 字节 (Type 是存储类型)。如果 shared 是 True,文件将被 创建(如需要)。
-
property
is_cuda¶
-
is_sparse= False¶
将存储移动到共享内存。
对于已经位于共享内存中的存储以及不需要跨进程共享的 CUDA 存储,此操作不会产生任何效果。共享内存中的存储无法调整大小。
返回值: self
-
-
class
torch.DoubleStorage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.float64[source]¶
-
-
class
torch.FloatStorage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.float32[source]¶
-
-
class
torch.HalfStorage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.float16[source]¶
-
-
class
torch.LongStorage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.int64[source]¶
-
-
class
torch.IntStorage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.int32[source]¶
-
-
class
torch.ShortStorage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.int16[source]¶
-
-
class
torch.CharStorage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.int8[source]¶
-
-
class
torch.ByteStorage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.uint8[source]¶
-
-
class
torch.BoolStorage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.bool[source]¶
-
-
class
torch.BFloat16Storage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.bfloat16[source]¶
-
-
class
torch.ComplexDoubleStorage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.complex128[source]¶
-
-
class
torch.ComplexFloatStorage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.complex64[source]¶
-
-
class
torch.QUInt8Storage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.quint8[source]¶
-
-
class
torch.QInt8Storage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.qint8[source]¶
-
-
class
torch.QInt32Storage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.qint32[source]¶
-
-
class
torch.QUInt4x2Storage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.quint4x2[source]¶
-
-
class
torch.QUInt2x4Storage(*args, wrap_storage=None, dtype=None, device=None)[source]¶ -
dtype: torch.dtype = torch.quint2x4[source]¶
-