深度学习笔记

 数据操作

原地操作

使用x[:]=x+y或x+=y来进行原地操作。

1
2
3
4
5
6
7
x=torch.randn((3,4))
y=torch.arange(12).reshape((3,4))
before=id(x)
x[:]=x+y
id(x)==before
-------------------------------
True

类型转换

1
2
3
4
5
6
In [2]: import torch

In [3]: a = torch.tensor([3.14])

In [4]: a.item(), float(a), int(a)
Out[4]: (3.140000104904175, 3.140000104904175, 3)

使用$\mathbf{b}$表示向量,使用$\mathbf{B}$表示矩阵

矩阵操作

x.T

张量是描述具有任意数量轴的n维数组的通用方法。

均值

1
2
x.mean()
x.sum()/x.numel()

非降维求和

1
x_sum=x.sum(axis=1,keepdims=True)

累计总和

1
s.cumsum(axis=0)

矩阵向量积

1
torch.mv(A,x)

矩阵乘法

类似于很多个矩阵向量积

1
torch.mm(A,b)

向量范数

推而广之

1
torch.norm(u)

线性回归

给定特征估计目标的过程称为预测或推断,但更经常使用预测,在统计学中推断更多的表示基于数据集估计参数。

输入值都是已经给定的,并且只有⼀个计算神经元。由于模型重点在发生计算的地方,所以通常在计算层数时不考虑输入层。

对于线性回归,每个输入都与每个输出相连,我们将这种变换称为全连接层或稠密层。