Tensor 及模型训练的一些基础知识

281 阅读1分钟

Tensor

Tensor 是 pytorch 中的张量,类似 Numpy 中的 ndarray,使用 GPU 加速运算,而 Numpy 是使用 CPU 加速运算

在做计算时如何修改 Tensor 自身的值(就地计算)

x = x.add(y) 可以简化为 x.add_(y)

许多函数都可以通过添加 _ 来实现原地计算

操作 Tensor 的一些函数

  • x.size() 等同于 x.shape,返回 shape

  • x.dim() 返回维度

  • x.reshape 与 x.view 都是用来改变 Tensor 的形状,(-1) 等同 np 的 flatten

    view 返回的对象与原 Tensor 共享内存,如果只想重塑张量,使用 reshape 即可

  • x.sum(dim=?,keepdim=?)

    归并操作,按第 dim 维度求和,keepdim 决定是否保留操作后为 1 的维度

模型训练

一般机器学习模型训练分如下几个步骤:

  • 准备数据

    一般是准备好输入、输出

  • 模型参数

    要学习的参数,即模型本身需要学习的东西要先准备好

  • 定义损失函数

    一般是根据真实输出和预测输出之间的关系定义损失函数

  • 参数更新

    损失函数(一般是标量)对参数求导,根据导数和学习率更新参数,目的是使损失最小