def loss(inputs, targets):
return F.cross_entropy(inputs, targets, reduction='none')
如果inputs时4维度, 首先是对inputs的第二维度上进行取最大值的下标,效果就是输出结果就会降一个维度 也就是 第一个维度是bath_size 不变
第二 三维度的值发生改变 假如输入的第二个维度是21,则第二三维度的值就在0~21之间 这个挺好用的 哈哈哈
以下代码可以验证这个说法:
import torch
import torchvision
from torch import nn
from torch.nn import functional as F
from d2l import torch as d2l
X = torch.rand(size=(64,21,320,480))
Y = torch.rand(size=(64,21,320,480))
print(X.shape)
print(Y.shape)
def loss(inputs, targets):
return F.cross_entropy(inputs, targets, reduction='none')
output = loss(X, Y)
print(output.shape)
bili上李沐大神的d2l中的损失函数的理解
最新推荐文章于 2024-08-09 14:14:58 发布