torch.Storage
torch.Storage
是存储类的别名,对应于
默认数据类型 (
)。例如,如果
默认数据类型为 ,解析为
。torch.float
torch.Storage
和 类,
like
、
等不是
实际上曾经实例化。调用它们的构造函数会创建
a
与适当的
和
。 类具有所有
相同的类方法。
torch.<type>Storage
torch.cuda.<type>Storage
torch.<type>Storage
A
是
特定
.它可以被赋予 any
,并且内部数据将被适当地解释。
包含一个
将数据保存为无类型的字节数组。
每个跨纹
都包含一个
,
它存储
了 views.
警告
除
外的所有存储类都将被删除
将来,
并将在所有情况下使用。
-
类 Torch 的 Torch 类TypedStorage(*args, wrap_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 副本。
-
cuda(device=None, non_blocking=False, **kwargs)[来源]
返回 CUDA 内存中此对象的副本。
如果此对象已在 CUDA 内存中并且位于正确的设备上,则
不执行复制,返回原始对象。
- 参数
device (int) – 目标 GPU ID。默认为当前设备。
non_blocking (bool) – 如果源位于固定内存中,
复制将相对于主机异步。否则
该参数无效。True
**kwargs – 为了兼容性,可以包含 key 来代替
参数。async
non_blocking
- 返回类型
T
-
data_ptr()[来源]
-
property device (设备)
-
double()[来源]
将此存储转换为 double 类型。
-
dtype:dtype
-
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_file(filename, shared=False, size=0) → Storage[源]
创建由内存映射文件支持的 CPU 存储。
如果为 ,则内存在所有进程之间共享。
所有更改都将写入文件。如果为 ,则对
存储不会影响文件。shared
True
shared
False
size
是存储中的元素数。如果 是 ,
则文件必须至少包含 bytes
( 是存储类型)。如果是,则根据需要创建文件。shared
False
size * sizeof(Type)
Type
shared
True
- 参数
-
-
get_device()[来源]
- 返回类型
int
-
half()[来源]
将此存储强制转换为 half type。
-
hpu(device=None, non_blocking=False, **kwargs)[来源]
返回 HPU 内存中此对象的副本。
如果此对象已在 HPU 内存中且位于正确的设备上,则
不执行复制,返回原始对象。
- 参数
device (int) – 目标 HPU ID。默认为当前设备。
non_blocking (bool) – 如果源位于固定内存中,
复制将相对于主机异步。否则
该参数无效。True
**kwargs – 为了兼容性,可以包含 key 来代替
参数。async
non_blocking
- 返回类型
T
-
int()[来源]
将此存储强制转换为 int 类型。
-
属性is_cuda
-
属性is_hpu
-
is_pinned(device='cuda')[来源]
确定 CPU TypedStorage 是否已固定在设备上。
- 参数
device (str 或 torch.device) – 要固定内存的设备。违约:'cuda'
- 返回
布尔变量。
-
is_shared()[来源]
-
is_sparse = False
-
long()[来源]
将此存储强制转换为 long 类型。
-
nbytes()[来源]
-
pickle_storage_type()[来源]
-
pin_memory(device='cuda')[来源]
将 CPU TypedStorage 复制到固定内存(如果尚未固定)。
- 参数
device (str 或 torch.device) – 要固定内存的设备。违约:。'cuda'
- 返回
固定的 CPU 存储。
-
resizable()[来源]
-
resize_(大小)[来源]
-
share_memory_()[来源]
看
-
short()[来源]
将此存储转换为 short type。
-
size()[来源]
-
tolist()[来源]
返回包含此存储元素的列表。
-
type(dtype=None, non_blocking=False)[来源]
如果未提供 dtype,则返回类型,否则将此对象强制转换为
指定的类型。
如果此类型已正确,则不会执行复制,并且
返回 original 对象。
- 参数
dtype (type or string) – 所需的类型
non_blocking (bool) – 如果 ,并且源位于固定内存中
并且 destination 在 GPU 上,反之亦然,则执行复制
异步。否则,参数
没有效果。True
**kwargs – 为了兼容性,可以包含 key 来代替
参数。arg 已弃用。async
non_blocking
async
- 返回类型
联合[T, str]
-
untyped()[来源]
返回内部
.
-
类 Torch 的 Torch 类UntypedStorage(*args, **kwargs)[来源]
-
bfloat16()
将此存储强制转换为 bfloat16 类型。
-
布尔()
将此存储强制转换为 bool 类型。
-
字节()
将此存储强制转换为 byte 类型。
-
byteswap(dtype)
交换基础数据中的字节。
-
煳()
将此存储强制转换为 char 类型。
-
克隆()
返回此存储的副本。
-
complex_double()
将此存储强制转换为复杂的 double 类型。
-
complex_float()
将此存储强制转换为复杂的 float 类型。
-
复制_()
-
中央处理器()
如果此存储尚未在 CPU 上,则返回该存储的 CPU 副本。
-
cuda(device=None, non_blocking=False, **kwargs)
返回 CUDA 内存中此对象的副本。
如果此对象已在 CUDA 内存中并且位于正确的设备上,则
不执行复制,返回原始对象。
- 参数
device (int) – 目标 GPU ID。默认为当前设备。
non_blocking (bool) – 如果源位于固定内存中,
复制将相对于主机异步。否则
该参数无效。True
**kwargs – 为了兼容性,可以包含 key 来代替
参数。async
non_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=False, size=0) → 存储
创建由内存映射文件支持的 CPU 存储。
如果为 ,则内存在所有进程之间共享。
所有更改都将写入文件。如果为 ,则对
存储不会影响文件。shared
True
shared
False
size
是存储中的元素数。如果 是 ,
则文件必须至少包含 bytes
( 是存储类型,如果文件必须包含在
最少字节数)。如果是,则根据需要创建文件。shared
False
size * sizeof(Type)
Type
UnTypedStorage
size
shared
True
- 参数
-
-
get_device()
- 返回类型
int
-
半()
将此存储强制转换为 half type。
-
hpu(device=None, non_blocking=False, **kwargs)
返回 HPU 内存中此对象的副本。
如果此对象已在 HPU 内存中且位于正确的设备上,则
不执行复制,返回原始对象。
- 参数
device (int) – 目标 HPU ID。默认为当前设备。
non_blocking (bool) – 如果源位于固定内存中,
复制将相对于主机异步。否则
该参数无效。True
**kwargs – 为了兼容性,可以包含 key 来代替
参数。async
non_blocking
-
int()
将此存储强制转换为 int 类型。
-
属性is_cuda
-
属性is_hpu
-
is_pinned(device='cuda')
确定 CPU 存储是否已固定在设备上。
- 参数
device (str 或 torch.device) – 要固定内存的设备。违约:。'cuda'
- 返回
布尔变量。
-
is_shared()
-
is_sparse: bool = False
-
is_sparse_csr: bool = False
-
长()
将此存储强制转换为 long 类型。
-
议员()
如果此存储尚未在 MPS 上,请返回该存储的 MPS 副本。
-
n字节()
-
新增功能()
-
pin_memory(device='cuda')
将 CPU 存储复制到固定内存(如果尚未固定)。
- 参数
device (str 或 torch.device) – 要固定内存的设备。违约:。'cuda'
- 返回
固定的 CPU 存储。
-
可调整大小()
-
调整_()
-
share_memory_(*args, **kwargs)[来源]
将存储移动到共享内存。
对于共享内存中已有的存储和 CUDA,这是无操作
存储,无需移动即可跨进程共享。
共享内存中的存储无法调整大小。
请注意,为了缓解此类问题,从同一对象上的多个线程调用此函数是线程安全的。
但是,在没有适当的
同步。有关更多详细信息,请参阅 Multiprocessing 最佳实践。
注意
删除对共享内存中存储的所有引用时,关联的共享内存
对象也将被删除。PyTorch 有一个特殊的清理过程来确保这种情况发生
即使当前进程意外退出。
值得注意的是 和
with 之间的区别
shared = True
share_memory_
使用 shm_open(3) 创建一个
POSIX 共享内存对象 while
使用 open(2) 打开用户传递的文件名。
两者都使用 mmap(2) 调用 with 将文件/对象映射到当前的虚拟地址空间MAP_SHARED
share_memory_
将在映射对象后调用对象,以确保共享内存
当没有进程打开对象时,将释放对象。 不会取消链接
文件。此文件是永久性的,将一直保留,直到用户将其删除。shm_unlink(3)
torch.from_file(shared=True)
- 返回
self
-
短()
将此存储转换为 short type。
-
大小()
- 返回类型
int
-
TOLIST()
返回包含此存储元素的列表。
-
type(dtype=None, non_blocking=False, **kwargs)
如果未提供 dtype,则返回类型,否则将此对象强制转换为
指定的类型。
如果此类型已正确,则不会执行复制,并且
返回 original 对象。
- 参数
dtype (type or string) – 所需的类型
non_blocking (bool) – 如果 ,并且源位于固定内存中
并且 destination 在 GPU 上,反之亦然,则执行复制
异步。否则,参数
没有效果。True
**kwargs – 为了兼容性,可以包含 key 来代替
参数。arg 已弃用。async
non_blocking
async
-
无类型()
-
类 Torch 的 Torch 类DoubleStorage(*args, wrap_storage=无, dtype=无, device=无, _internal=错误)[来源]
-
dtype: dtype = torch.float64[来源]
-
类 Torch 的 Torch 类FloatStorage(*args, wrap_storage=无, dtype=无, device=无, _internal=错误)[来源]
-
dtype: dtype = torch.float32[来源]
-
类 Torch 的 Torch 类HalfStorage(*args, wrap_storage=无, dtype=无, device=无, _internal=错误)[来源]
-
dtype: dtype = torch.float16[来源]
-
类 Torch 的 Torch 类LongStorage(*args, wrap_storage=无, dtype=无, device=无, _internal=错误)[来源]
-
dtype: dtype = torch.int64[来源]
-
类 Torch 的 Torch 类IntStorage(*args, wrap_storage=无, dtype=无, device=无, _internal=错误)[来源]
-
dtype: dtype = torch.int32[来源]
-
类 Torch 的 Torch 类ShortStorage(*args, wrap_storage=无, dtype=无, device=无, _internal=错误)[来源]
-
dtype: dtype = torch.int16[来源]
-
类 Torch 的 Torch 类CharStorage(*args, wrap_storage=无, dtype=无, device=无, _internal=错误)[来源]
-
dtype: dtype = torch.int8[来源]
-
类 Torch 的 Torch 类ByteStorage(*args, wrap_storage=无, dtype=无, device=无, _internal=错误)[来源]
-
数据类型: dtype = torch.uint8[来源]
-
类 Torch 的 Torch 类BoolStorage(*args, wrap_storage=无, dtype=无, device=无, _internal=错误)[来源]
-
数据类型: dtype = torch.bool[来源]
-
类 Torch 的 Torch 类BFloat16Storage(*args, wrap_storage=无, dtype=无, device=无, _internal=假)[来源]
-
dtype: dtype = torch.bfloat16[来源]
-
类 Torch 的 Torch 类ComplexDoubleStorage(*args, wrap_storage=无, dtype=无, device=无, _internal=假)[来源]
-
dtype: dtype = torch.complex128[来源]
-
类 Torch 的 Torch 类ComplexFloatStorage(*args, wrap_storage=无, dtype=无, device=无, _internal=假)[来源]
-
dtype: dtype = torch.complex64[来源]
-
类 Torch 的 Torch 类QUInt8Storage(*args, wrap_storage=无, dtype=无, device=无, _internal=错误)[来源]
-
dtype: dtype = torch.quint8[来源]
-
类 Torch 的 Torch 类QInt8Storage(*args, wrap_storage=无, dtype=无, device=无, _internal=错误)[来源]
-
dtype: dtype = torch.qint8[来源]
-
类 Torch 的 Torch 类QInt32Storage(*args, wrap_storage=无, dtype=无, device=无, _internal=错误)[来源]
-
dtype: dtype = torch.qint32[来源]
-
类 Torch 的 Torch 类QUInt4x2Storage(*args, wrap_storage=无, dtype=无, device=无, _internal=假)[来源]
-
dtype: dtype = torch.quint4x2[来源]
-
类 Torch 的 Torch 类QUInt2x4Storage(*args, wrap_storage=无, dtype=无, device=无, _internal=假)[来源]
-
dtype: dtype = torch.quint2x4[来源]