示例#1
0
 public void TestPoissonNLLLoss2()
 {
     using (TorchTensor input = Float32Tensor.Random(new long[] { 5, 2 }))
         using (TorchTensor target = Float32Tensor.Random(new long[] { 5, 2 }))
         {
             var outTensor = PoissonNLL(true, true)(input, target);
         }
 }
示例#2
0
 public void TestErrorHandling()
 {
     using (TorchTensor input = Float32Tensor.From(new float[] { 0.5f, 1.5f }))
         using (TorchTensor target = Float32Tensor.From(new float[] { 1f, 2f, 3f }))
         {
             Assert.Throws <ExternalException>(() => PoissonNLL()(input, target));
         }
 }
示例#3
0
 public void TestPoissonNLLLoss()
 {
     using (TorchTensor input = Float32Tensor.From(new float[] { 0.5f, 1.5f, 2.5f }))
         using (TorchTensor target = Float32Tensor.From(new float[] { 1f, 2f, 3f }))
         {
             var componentWiseLoss = ((TorchTensor)input.Exp()) - target * input;
             Assert.True(componentWiseLoss.Equal(PoissonNLL(reduction: NN.Reduction.None)(input, target)));
             Assert.True(componentWiseLoss.Sum().Equal(PoissonNLL(reduction: NN.Reduction.Sum)(input, target)));
             Assert.True(componentWiseLoss.Mean().Equal(PoissonNLL(reduction: NN.Reduction.Mean)(input, target)));
         }
 }