You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

GradientTest.cs 1.3 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using FluentAssertions;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3. using NumSharp;
  4. using System.Linq;
  5. using Tensorflow;
  6. using static Tensorflow.Binding;
  7. namespace Tensorflow.UnitTest.TF_API
  8. {
  9. [TestClass]
  10. public class GradientTest
  11. {
  12. [TestMethod]
  13. public void GradientFloatTest()
  14. {
  15. var x = tf.Variable(3.0, dtype: TF_DataType.TF_FLOAT);
  16. using var tape = tf.GradientTape();
  17. var y = tf.square(x);
  18. var y_grad = tape.gradient(y, x);
  19. Assert.AreEqual(9.0f, (float)y);
  20. }
  21. [TestMethod]
  22. public void GradientDefaultTest()
  23. {//error 1#: Variable default type
  24. var x = tf.Variable(3.0);
  25. using var tape = tf.GradientTape();
  26. var y = tf.square(x);
  27. var y_grad = tape.gradient(y, x);
  28. Assert.AreEqual(9.0, (double)y);
  29. }
  30. [TestMethod]
  31. public void GradientDoubleTest()
  32. {//error 2#: Variable double type
  33. var x = tf.Variable(3.0, dtype: TF_DataType.TF_DOUBLE);
  34. using var tape = tf.GradientTape();
  35. var y = tf.square(x);
  36. var y_grad = tape.gradient(y, x);
  37. Assert.AreEqual(9.0, (double)y);
  38. }
  39. }
  40. }