Pytorch
记录一些乱七八糟的pytorch知识
1 | nn.Linear(in_features, out_features, bias=True) |
创建一个线性变换层(y=Wx+b),输入维度是in_features,输出维度是out_features,bias表示是否使用偏置项,默认为True。
e.g.
1 | linear = nn.Linear(10, 5) |
创建一个输入维度为10,输出维度为5的线性层。
1 | torch.matmul(A,B) #matrix multiplication |
矩阵乘法,自动选择维度,可以进行向量点积,矩阵乘法,矩阵乘标量。
1 | K.transpose(-1, -2) #transpose last two dimensions |
转置K的最后两个维度,-1代表最后一个维度,-2代表倒数第二个维度。
为什么只转置张量K的最后两个维度? K是一个四维张量, 表示(batch_size, num_heads, seq_len, d_k)
只有最后两维是和Q相乘的维度,一个是token数量,一个是token自身词向量的维度。
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.