15.md 2.4 KB
Newer Older
W
wizardforcel 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
# torch.Storage

* * *

`torch.Storage`是单个数据类型的连续的`一维数组`,每个`torch.Tensor`都具有相同数据类型的相应存储。

```py
class torch.FloatStorage 
```

*   `byte()`:将 Storage 转为 byte 类型
*   `char()`:将 Storage 转为 char 类型
*   `clone()`:返回 Storage 的副本
*   `copy_()`
*   `cpu()`:如果尚未在 CPU 上,则返回 Storage 的 CPU 副本
*   `cuda(device=None, async=False)`:在 CUDA 内存中返回此对象的副本。如果该对象已经在 CUDA 内存中,并且在正确的设备上,则不会执行任何操作,并返回原始对象。 参数说明:

    1.  device (int) - 目标 GPU 的 id。默认值是当前设备。
    2.  async (bool) -如果值为 True,且源在锁定内存中,则副本相对于宿主是异步的。否则此参数不起效果。
*   `data_ptr()`: 返回一个时间戳
*   `double()`:将 Storage 转为 double 类型
*   `element_size()`:返回参数的 size
*   `fill_()`
*   `float()`:将 Storage 转为 float 类型
*   `from_buffer()`
*   `half()`:将 Storage 转为 half 类型
*   `int()`:将 Storage 转为 int 类型
*   `is_cuda = False`
*   `is_pinned()`
*   `is_shared()`
*   `is_sparse = False`
*   `long()`:将 Storage 转为 long 类型
*   `new()`
*   `pin_memory()`:将存储复制到固定内存(如果尚未固定)。
*   `resize_()`
*   `share_memory_()`:这对于已经在共享内存和 CUDA 存储器中的存储器是无效的,不需要为了跨进程共享而移动。无法调整共享内存中的存储空间。返回:self
*   `short()`:将 Storage 转为 short 类型
*   `size()`:返回 Storage 转的大小
*   `tolist()`:返回一个包含 Storage 中元素的列表
*   `type(new_type=None, async=False)`:将此对象转为指定类型。如果已经是正确类型,不会执行复制操作,直接返回原对象。

参数说明:

1.  `new_type` (type 或 string) -需要转成的类型
2.  `async (bool)` -如果值为 True,并且源处于固定内存中,目标位于 GPU 上,反之亦然,则相对于主机异步执行该副本。否则,参数没有效果。

具体使用教程请参考:[使用 torch.Storage 共享多个张量的相同存储以及将 torch.Tensor 转化为 torch.Storage](https://ptorch.com/news/52.html)

### 译者署名

| 用户名 | 头像 | 职能 | 签名 |
| --- | --- | --- | --- |
| [Song](https://ptorch.com) | ![](img/2018033000352689884.jpeg) | 翻译 | 人生总要追求点什么 |