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.0 kB

1234567891011121314151617181920212223242526272829303132
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using Tensorflow;
  6. namespace TensorFlowNET.UnitTest
  7. {
  8. [TestClass]
  9. public class GradientTest
  10. {
  11. [TestMethod]
  12. public void Gradients()
  13. {
  14. var graph = tf.Graph().as_default();
  15. var a = tf.constant(0.0);
  16. var b = 2.0 * a;
  17. Assert.AreEqual(b.name, "mul:0");
  18. Assert.AreEqual(b.op.inputs[0].name, "mul/x:0");
  19. Assert.AreEqual(b.op.inputs[1].name, "Const:0");
  20. var ys = a + b;
  21. Assert.AreEqual(ys.name, "add:0");
  22. Assert.AreEqual(ys.op.inputs[0].name, "Const:0");
  23. Assert.AreEqual(ys.op.inputs[1].name, "mul:0");
  24. var g = tf.gradients(ys, new Tensor[] { a, b }, stop_gradients: new Tensor[] { a, b });
  25. Assert.AreEqual(g[0].name, "gradients/Fill:0");
  26. Assert.AreEqual(g[1].name, "gradients/Fill:0");
  27. }
  28. }
  29. }

tensorflow框架的.NET版本,提供了丰富的特性和API,可以借此很方便地在.NET平台下搭建深度学习训练与推理流程。