阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

简单介绍pytorch中log_softmax的实现

74次阅读
没有评论

共计 586 个字符,预计需要花费 2 分钟才能阅读完成。

导读 log_softmax​​ 是计算损失的时候常用的一个函数,那么这个函数的内部到底是怎么做到的呢?这里详细的解释一下。

写代码前,回忆一下​​log_softmax​​的公式 − l o g e x p (p j) ∑ i e x p (p i) -log\frac{exp(p_j)}{\sum_{i}exp(p_i)} −log∑iexp(pi)exp(pj)

代码
''' 自己实现 log_softmax 函数(1)使用 torch.exp() 函数计算各个 logit 的 e 次幂(2)使用 torch.sum() 函数计算求和(3)使用 torch.log 对比例求对数
可以发现,二者最终的结果是相同的
'''
import torch as t
import torch.nn.functional as F
logit = t.tensor([0.1,0.1,0.1,0.7])
a = t.exp(logit)
print("a=",a)
b = t.sum(a,dim=0,keepdim=True)
print("b=",b)
c=t.log(a/b)
print(c)
print(F.log_softmax(logit))
执行结果:

简单介绍 pytorch 中 log_softmax 的实现

二者是相同的。所以以后想用的话,可以直接使用​​log_softmax()​​函数即可,就不用再分开搞了。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计586字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中