![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
pytorch
pytorch学习
小瓶盖的猪猪侠
这个作者很懒,什么都没留下…
展开
-
PyTorch中 tensor.detach() 和 tensor.data 的区别
PyTorch的自动求导Autograd是无法捕捉到这种变化的,会依然按照求导规则进行求导,导致计算出错误的导数值。使用.detach()的好处在于,若是出现上述情况,Autograd可以检测出某一处变量已经发生了改变,进而以如下形式报错,从而避免了错误的求导。从以上可以看出,是在前向传播的过程中使用就地操作(In-place operation)导致了这一问题,那么就地操作是什么呢?其风险性在于,如果我在某一处修改了某一个变量,求导的时候也无法得知这一修改,可能会在不知情的情况下计算出错误的导数值。原创 2023-04-06 22:28:51 · 281 阅读 · 0 评论 -
pytorch学习(一)----基本函数
用于分割张量,第一个参数为张量,第二个参数为分割的大小,可以是整数,也可以是列表,第三个是分割的维度,从哪个维度进行分割。通过传入张量列表和创建的维度,会把列表中的张量沿着指定的维度进行堆砌,列表中的张量大小 必须相同。列表中的张量沿着指定的维度进行堆砌,除了指定堆砌的维度参数可以不同外,其他维度参数必须相同。该函数用于扩增张量维度,在指定的维度增加一个维度,维度参数为1。该函数用于压缩维度,凡是维度为1的都会被压缩掉。原创 2023-03-02 20:09:32 · 181 阅读 · 0 评论 -
nn.Parameter
torch.nn.Parameter是继承自torch.Tensor的子类,其主要作用是作为nn.Module中的可训练参数使用。它与torch.Tensor的区别就是nn.Parameter会自动被认为是module的可训练参数,即加入到parameter()这个迭代器中去;而module中非nn.Parameter()的普通tensor是不在parameter中的。使用register_parameter()注册。没有使用nn.Parameter。使用了nn.Paramter。原创 2022-12-18 13:08:28 · 429 阅读 · 0 评论 -
torch.flatten()与nn.Flatten()的区别
(1) 默认的dim不同,torch.flatten()默认的dim=0,而nn.Flatten()默认的dim=1,例如输入数据的尺寸是[3,1,4,4],经过torch.flatten()展开后的尺寸变为[48],而经过nn.Flatten()后得到的结果是[3, 16]; (2) nn.Flatten是一个类,而torch.flatten()则是一个函数。原创 2022-12-05 00:21:46 · 397 阅读 · 0 评论 -
pytorch 学习第三天 交叉熵
假设X是一个离散型随机变量,其取值集合为X,概率分布函数为我们定义事件的信息量为:,可以理解为,一个事件发生的概率越大,则它所携带的信息量就越小,而当时,熵将等于0,也就是说该事件的发生不会导致任何信息量的增加。举个例子,小明平时不爱学习,考试经常不及格,而小王是个勤奋学习的好学生,经常得满分,所以我们可以做如下假设: 事件A:小明考试及格,对应的概率P(xA)=0.1,信息量为 事件B:小王考试及格,对应的概率P(xB)=0.999,信息量为可以看出,结果非常符合直观:小明及格的可能性很低(十次考试只有一原创 2022-12-04 14:07:01 · 462 阅读 · 0 评论 -
pytorch学习第二天 自动微分机制(backward、torch.autograd.grad)
backward 方法通常在一个标量张量上调用,该方法求得的梯度将存在对应自变量张量的grad属性下。如果调用的张量非标量,则要传入一个和它同形状 的gradient参数张量。相当于用该gradient参数张量与调用张量作向量点乘,得到的标量结果再反向传播。 1, 标量的反向传播 2, 非标量的反向传播 3, 非标量的反向传播可以用标量的反向传播实现原创 2022-12-03 19:38:24 · 172 阅读 · 0 评论 -
torch学习第二天-基础知识
增加或减少维度 sequeeze只能压缩对应维度大小为1的,不是1时则不操作 expand 对对于维度进行扩充,只有在使用时,才填充值,-1表示对应维度值保持不变 repeat表示对应维度copy的次数 对应维度进行叠加 新的维度叠加 用于裁剪tensor原创 2022-12-03 15:10:18 · 323 阅读 · 0 评论 -
torch学习第一天--tensor创建
标量的shape和size都为空。原创 2022-12-02 23:50:39 · 1057 阅读 · 0 评论 -
torch.stack
所有张量都需要具有相同的大小。沿新维度连接一系列张量。原创 2022-11-28 20:14:24 · 136 阅读 · 0 评论 -
torch.numel作用
torch.numel用于统计张量中元素的个数原创 2022-07-03 17:48:42 · 287 阅读 · 0 评论