| @@ -0,0 +1,47 @@ | |||||
| using FluentAssertions; | |||||
| using Microsoft.VisualStudio.TestTools.UnitTesting; | |||||
| using NumSharp; | |||||
| using System.Linq; | |||||
| using Tensorflow; | |||||
| using static Tensorflow.Binding; | |||||
| namespace Tensorflow.UnitTest.TF_API | |||||
| { | |||||
| [TestClass] | |||||
| public class GradientTest | |||||
| { | |||||
| [TestMethod] | |||||
| public void GradientFloatTest() | |||||
| { | |||||
| var x = tf.Variable(3.0, dtype: TF_DataType.TF_FLOAT); | |||||
| using var tape = tf.GradientTape(); | |||||
| var y = tf.square(x); | |||||
| var y_grad = tape.gradient(y, x); | |||||
| Assert.AreEqual(9.0f, (float)y); | |||||
| } | |||||
| [TestMethod] | |||||
| public void GradientDefaultTest() | |||||
| {//error 1#: Variable default type | |||||
| var x = tf.Variable(3.0); | |||||
| using var tape = tf.GradientTape(); | |||||
| var y = tf.square(x); | |||||
| var y_grad = tape.gradient(y, x); | |||||
| Assert.AreEqual(9.0, (double)y); | |||||
| } | |||||
| [TestMethod] | |||||
| public void GradientDoubleTest() | |||||
| {//error 2#: Variable double type | |||||
| var x = tf.Variable(3.0, dtype: TF_DataType.TF_DOUBLE); | |||||
| using var tape = tf.GradientTape(); | |||||
| var y = tf.square(x); | |||||
| var y_grad = tape.gradient(y, x); | |||||
| Assert.AreEqual(9.0, (double)y); | |||||
| } | |||||
| } | |||||
| } | |||||