require 'nn'
require 'rnn'
maxzero = 1
if maxzero == 1 then
y_ = torch.Tensor{{1,5,2},{0,5,2},{0,0,0}}
y = torch.Tensor{{2,3,1},{0,5,4},{0,0,0}}
y = torch.Tensor{{2,3,1},{0,5,4},{1,1,1}}
else
y_ = torch.Tensor{{1,5,2},{0,5,2}}
y = torch.Tensor{{2,3,1},{0,5,4}}
end
print(y_,y)
c1 = nn.MSECriterion()
c2 = nn.MaskZeroCriterion(nn.MSECriterion(),1)
o1 = c1:forward(y_,y)
o2 = c2:forward(y_,y)
print(o1,o2)
c3 = nn.DistKLDivCriterion()
c4 = nn.MaskZeroCriterion(nn.DistKLDivCriterion(),1)
o3 = c3:forward(y_,y)
o4 = c4:forward(y_,y)
print(o3,o4)
if maxzero == 1 then
y_ = torch.Tensor{{-1.20397280433,-2.30258509299,-0.51082562376},{-2.30258509299,-0.22314355131,-2.30258509299},{0,0,0}} --{log0.3,log0.1,log0.6},{log0.1,log0.8,log0.1}
y = torch.Tensor{3,2,3}
else
y_ = torch.Tensor{{-1.20397280433,-2.30258509299,-0.51082562376},{-2.30258509299,-0.22314355131,-2.30258509299}}
y = torch.Tensor{3,2}
end
c5 = nn.ClassNLLCriterion()
c6 = nn.MaskZeroCriterion(nn.ClassNLLCriterion(),1)
o5 = c5:forward(y_,y)
o6 = c6:forward(y_,y)
print(o5,o6)
[torch]criterion/maskzero
最新推荐文章于 2022-10-19 16:33:20 发布
本文深入探讨了在PyTorch中如何使用criterion进行maskzero操作,详细解释了这一技巧在处理含有缺失值或无效数据时的重要性,并通过实例展示了其在神经网络训练过程中的应用。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
PyTorch 2.5
PyTorch
Cuda
PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理
3万+

被折叠的 条评论
为什么被折叠?



