Exemplo n.º 1
0
 public void TestPoissonNLLLoss()
 {
     using (TorchTensor input = FloatTensor.From(new float[] { 0.5f, 1.5f, 2.5f }))
         using (TorchTensor target = FloatTensor.From(new float[] { 1f, 2f, 3f }))
         {
             var componentWiseLoss = ((TorchTensor)input.Exp()) - target * input;
             Assert.True(componentWiseLoss.Equal(NN.LossFunction.PoissonNLL(reduction: NN.Reduction.None)(input, target)));
             Assert.True(componentWiseLoss.Sum().Equal(NN.LossFunction.PoissonNLL(reduction: NN.Reduction.Sum)(input, target)));
             Assert.True(componentWiseLoss.Mean().Equal(NN.LossFunction.PoissonNLL(reduction: NN.Reduction.Mean)(input, target)));
         }
 }