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.

ActivationFunctionTest.cs 1.6 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using Tensorflow;
  7. using static Tensorflow.Binding;
  8. namespace TensorFlowNET.UnitTest.nn_test
  9. {
  10. [TestClass]
  11. public class ActivationFunctionTest
  12. {
  13. // A constant vector of size 6
  14. Tensor a = tf.constant(new float[] { 1.0f, -0.5f, 3.4f, -2.1f, 0.0f, -6.5f });
  15. [TestMethod]
  16. public void Sigmoid()
  17. {
  18. var b = tf.nn.sigmoid(a, name: "sigmoid");
  19. // from python
  20. // [0.7310586f, 0.37754068f, 0.9677046f, 0.10909683f, 0.5f, 0.00150118f]
  21. var expected = new float[] { 0.7310586f, 0.377540678f, 0.9677046f, 0.109096833f, 0.5f, 0.00150118221f };
  22. var actual = b.ToArray<float>();
  23. Assert.IsTrue(Enumerable.SequenceEqual(expected, actual));
  24. }
  25. [TestMethod]
  26. public void ReLU()
  27. {
  28. var b = tf.nn.relu(a, name: "ReLU");
  29. var expected = new float[] { 1f, 0f, 3.4f, 0f, 0f, 0f };
  30. var actual = b.ToArray<float>();
  31. Assert.IsTrue(Enumerable.SequenceEqual(expected, actual));
  32. }
  33. [TestMethod]
  34. public void TanH()
  35. {
  36. var b = tf.nn.tanh(a, name: "TanH");
  37. var expected = new float[] { 0.7615942f, -0.46211717f, 0.9977749f , -0.970452f, 0f, -0.99999547f };
  38. var actual = b.ToArray<float>();
  39. Assert.IsTrue(Enumerable.SequenceEqual(expected, actual));
  40. }
  41. }
  42. }