![](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 torch x = 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 · 599 阅读 · 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 · 4134 阅读 · 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 · 475 阅读 · 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 · 1963 阅读 · 0 评论