![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pytorch
约定写代码
虽然8年前开始学习更好,但今天开始学习,总要好过明天再开始。
展开
-
pytorch中的squeeze和unsqueeze
squeeze:压缩,要减少维度。unsqueeze:解压缩,要增加维度。torch.squeeze(input),那么会把input中所有维度长度为1的维度去掉。torch.squeeze(input,dim=1),那么在给定dim的情况下,就只去掉dim这个维度,其他维度还保留。import torchx = torch.rand(5,3)x = x.squeeze(1)tensor([[0.0621, 0.2074, 0.5420],[0.5897, 0.3664, 0.4387],原创 2021-05-19 09:10:34 · 613 阅读 · 0 评论 -
pytorch中的sum
pytorch的sum怎么那么烦人呢?我怎么知道应该给哪个维度做加和呢。如果 x=tensor([[0.5946, 0.3530, 0.2231],[0.7467, 0.2139, 0.4841],[0.6990, 0.6151, 0.1369],[0.1062, 0.5951, 0.7555],[0.7811, 0.2932, 0.2963]])那么我想 x.sum(dim=1),第0个维度是行,第1个维度应该是列,那应该是按列求和吧,最后结果应该是一行3列。结果是tensor([1.17原创 2021-05-19 08:50:37 · 4170 阅读 · 0 评论 -
pytorch自定义模型执行过程
使用pytorch定义自己的模型是继承nn.Module实现的。在__init__方法中定义需要初始化的参数,一般把网络中具有可学习参数的层放在这里定义。forward方法实现模型的功能,实现各个层之间的连接关系的核心。backward函数就会被自动实现(利用Autograd)。class WordAveragingModel(nn.Module): def __init__(self, vocab_size: int, embed_dim: int, embed_dropout: float原创 2021-04-23 08:57:53 · 495 阅读 · 0 评论 -
pytorch矩阵相乘与点乘
torch.mul(a, b) 矩阵点乘矩阵点乘要求两个矩阵维度符合一定要求a的形状是(x,y)b的形状是(x,y),那么得到(x,y)形状的矩阵b的形状是(x,1),那么得到(x,y)形状的矩阵,从2到y列的值与第一列的值相y=1,b的形状是(1,x),那么得到(x,x)形状的矩阵,torch.mm(a,b) 矩阵相乘a的形状是(x,y),b的形状是(y,z),得到(x,z)形状的矩阵只能计算二维矩阵的相乘。nn.Linear 线性变化y=ax+b 包含矩阵乘的操作.原创 2021-04-24 08:04:13 · 1985 阅读 · 0 评论