[torch]criterionmaskzero

xiaoxiao2021-02-28  105

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)
转载请注明原文地址: https://www.6miu.com/read-51473.html

最新回复(0)