pytorch学习笔记(五)

有关softmax(),与CrossEntropyLoss()

 一,有关softmax()

[0.2,0.1,-0.1]后面不需要再做线性变换。softmax()函数的作用是1,对[0.2,0.1,-0.1]求指数运算,然后算他们三个对应的概率(ps:e^0.2 / (e^0.2+e^0.1+e^-0.1))得到[0.38,0.34,0.28].

二、有关loss = -(y*log(y_pred)+(1-y)*log(1-y_pred)) 

不知道为啥,就变-y*log(y_pred)了,这y是[1,0,0]啊。。。

 不懂,反正他就是把后面的(1-y)等于0了。

y = np.array([1,0,0])
z = np.array([0.2,0.1,-0.1])

y_pred = np.exp(z)/np.exp(z).sum()    #softmax()一下

loss = (-y*np.log(y_pred)).sum()    #loss()一下

print(loss) #

用CrossEntropyloss()

y1 = torch.LongTensor([0])    #第0类,longTensor
z1 = torch.Tensor([[0.2,0.1,0.1]])    #torch.Tensor()

criterion = torch.nn.CrossEntropyLoss()

loss1 =criterion(z1,y1)    #先z1,后y1,先预测,后真实

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值