本文主要从以下5个方面对之前所学知识做出总结:
1.创建模型的三种方法
- 单层创建 nn.Linear
- 多层创建 torch.nn.Sequential
- 自定义类(继承自 nn.Module)
2. 数据输入方式
- 从 ndarray 创建 Tensor 直接切片输入
- 使用 torch.utils.data.TensorDataset 创建
- dataset 使用 torchvision.datasets 的内置数据集
- 使用torch.utils.data.DataLoader 封装
3.模型训练的步骤
- 预处理数据 (如dataset、dataloader、归一化等)
- 创建模型和优化方法 (如:model, opt)
- 模型调用
- 计算损失
- 梯度归零
- 计算梯度
- 优化模型
- 打印指标
4.数据输入方式
- 从 ndarray 创建 Tensor 直接切片输入
- 使用 torch.utils.data.TensorDataset 创建dataset
- 使用 torchvision 的内置数据集
- 使用 torch.utils.data.DataLoader 封装
5.不同问题使用的损失函数和输出设置
-
回归问题
预测连续的值叫做回归问题
损失函数: 均方误差 mse
输出层激活方式: 无 -
二分类问题
回答是和否的问题
损失函数: BCEloss 输出层激活方式: sigmoid 输出
损失函数: CrossEntropyLoss 输出层激活方式: 无 -
多分类问题
多个分类的问题,输出与分类个数相同长度的张量
损失函数:主要采用 CrossEntropyLoss 输出层激活方式: 无多个分类的问题,输出与分类个数相同长度的张量
损失函数: nn.NLLLoss 要求labels必须是独热编码方式
输出层激活方式: torch.log_softmax