autograd – 自动求导系统
torch.autograd
autograd
torch.autograd.backward
功能:自动求取梯度
- tensor:用于求导的张量,如loss
- retain_graph:保存计算图
- create_graph:创建导数计算图,用于高阶求导
- grad_tensors:多梯度权重
torch.autograd.grad
功能:求取梯度
- outputs:用于求导的张量,如loss
- inputs:需要梯度的张量
- create_graph:创建导数计算图,用于高阶求导
- retain_graph:保存计算图
- grad_outputs:多梯度权重
autograd小贴士
- 梯度不自动清零
- 依赖于叶子结点的结点,requires_grad 默认为为 True
- 叶子结点不可执行 in-place
逻辑回归
Logistic Regression
基本概念
逻辑回归是线性的二分类模型
线性回归与逻辑回归的区别
线性回归是分析自变量x与因变量y(标量)之间关系的方法
逻辑回归是分析自变量x与因变量y(概率)之间关系的方法
机器学习模型训练步骤
PyTorch 构建模型需要 5 大步骤:
- 数据:包括数据读取,数据清洗,进行数据划分和数据预处理,比如读取图片如何预处理及数据增强。
- 模型:包括构建模型模块,组织复杂网络,初始化网络参数,定义网络层。
- 损失函数:包括创建损失函数,设置损失函数超参数,根据不同任务选择合适的损失函数。
- 优化器:包括根据梯度使用某种优化器更新参数,管理模型参数,管理多个参数组实现不同学习率,调整学习率。
- 迭代训练:组织上面 4 个模块进行反复训练。包括观察训练效果,绘制 Loss/ Accuracy 曲线,用 TensorBoard 进行可视化分析。
参考链接
PyTorch 学习笔记