bili上李沐大神的d2l中的损失函数的理解

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)

你可能感兴趣的:(pytorch,python,深度学习)