1- 张量
1.1 创建张量
1)根据列表
1 | import torch |
2)根据numpy数组
1 | import torch |
3)根据Tensor
1 | import torch |
4)根据形状
1 | shape=(2,3) |
1.2 张量的属性
| 属性 | 解释 |
|---|---|
| shape | 形状 |
| dtype | 数据类型 |
| device | 在哪个设备上 |
1.3 张量操作
1.3.1 张量判断
| 操作 | 解释 |
|---|---|
| is_tensor() | 是否为tensor |
| is_complex() | 元素为复数 |
| is_floating_point() | 元素为浮点数 |
| numel() | 元素个数 |
1.3.2 创建操作
| 操作 | 解释 |
|---|---|
| tensor() | 根据内容创建张量 |
| zeros() ones() eye() empty() full(形状, 数值) |
全0矩阵 全1矩阵 单位矩阵 未初始化的张量 单元素填充 |
| zeros_like() ones_like() |
全0矩阵 全1矩阵 |
| arange() | 范围:[ ) |
| range() | 范围:[ ],steps指定步长 |
| linspace() logspace |
范围:[ ],steps指定个数 确定底数,生成一系列指数 |
1.3.3 索引,切片,拼接,变异
| 操作 | 解释 |
|---|---|
| cat(tensors , dim=0) | 按维度拼接(拼谁谁变长,其他维度相等) |
| stack(tensors , dim=0) | 按维度堆叠(会新增维度) |
| chunk(input, chunks, dim=0) | 平均切成chunks段 |
| dsplit(input, indices_or_sections) hsplit() split() |
按维度2(深度)切割 按维度1(高度)切割 切割 |
| dstack(tensors, *, out=None) hstack() |
按维度3叠加(新增维度) 按维度2拼接 |
| reshape(input, shape) | 改变形状 |
| squeeze(input, dim=None) | 压缩值为1的维度 |
-
1 | import torch |
1 | import torch |
1 | import torch |
1 | import torch |
1 | import torch |
- torch.logspace(start, end, steps, base=10.0, ***, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor
1 | import torch |
- torch.cat(tensors, dim=0, ***, out=None) → Tensor
1 | import torch |
1 | import torch |
1 | import torch |
1 | import torch |
1 | import torch |
1 | import torch |