安装: https://pytorch.org/get-started/locally/
选择 系统
, 安装方法
, 语言: Python
, 计算平台
之后就出现对应的安装命令了.
1 | import torch |
基本用法
数据初始化
1 | # 使用其他数据类型创建 |
数据类型转换
1 | # tensor 类型数据转换 |
tensor 数据属性
1 | ts.shape 或 ts.size() # tensor 形状 |
1 | # tensor 形状转换 |
将数据存储到 cuda 进行运算
1 | print(f"tensor store device {tensor.device}") |
基本运算
1 | # 以 _ 结尾的函数 表示 inplace |
向量乘法:
- 数乘: 标量 × 向量, 标量与向量中每个位置相乘, 结果是向量
- 点乘(内积): 对应位置相乘之后求和, 结果是标量
- 叉乘(外积,叉积,向量积): 与两个向量组成的平面垂直的向量
矩阵乘法:
- 数乘:
- 矩阵乘法: (mv)·(vn)=(mn) 前矩阵每个行 与 后矩阵每个列 对应位置相乘后求和, 得到的和组成的新矩阵
- 矩阵点乘(element-wise product, entry-wise product, 哈达玛积 hadamard product): (mn)☉(mn)=(mn) 对应位置相乘
- 克罗内克积(kronecker product): 前矩阵的每个元素 与 后矩阵整体 进行数乘, 得到的矩阵拼接成的新矩阵
参考: https://www.jianshu.com/p/9165e3264ced
反向传播 与 自动微分
1 | x = torch.tensor(1.) |
- 使用
requires_grad=True
将会追踪该 tensor 的所有操作 - 完成计算后, 通过
.backward()
自动计算所有 grad 梯度 - 自动计算后, 梯度会保存在该变量的
.grad
属性上