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.

VariableTest.cs 1.9 kB

6 years ago
6 years ago
6 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using Tensorflow;
  6. using NumSharp.Core;
  7. namespace TensorFlowNET.UnitTest
  8. {
  9. [TestClass]
  10. public class VariableTest : Python
  11. {
  12. [TestMethod]
  13. public void Initializer()
  14. {
  15. var x = tf.Variable(10, name: "x");
  16. using (var session = tf.Session())
  17. {
  18. session.run(x.initializer);
  19. var result = session.run(x);
  20. Assert.AreEqual(10, (int)result);
  21. }
  22. }
  23. [TestMethod]
  24. public void StringVar()
  25. {
  26. var mammal1 = tf.Variable("Elephant", "var1", tf.chars);
  27. var mammal2 = tf.Variable("Tiger");
  28. }
  29. [TestMethod]
  30. public void ScalarVar()
  31. {
  32. var x = tf.constant(3, name: "x");
  33. var y = tf.Variable(x + 1, name: "y");
  34. var model = tf.global_variables_initializer();
  35. using (var session = tf.Session())
  36. {
  37. session.run(model);
  38. int result = session.run(y);
  39. Assert.AreEqual(result, 4);
  40. }
  41. }
  42. /// <summary>
  43. /// https://databricks.com/tensorflow/variables
  44. /// </summary>
  45. [TestMethod]
  46. public void Add()
  47. {
  48. int result = 0;
  49. Tensor x = tf.Variable(10, name: "x");
  50. var model = tf.global_variables_initializer();
  51. using (var session = tf.Session())
  52. {
  53. session.run(model);
  54. for(int i = 0; i < 5; i++)
  55. {
  56. x = x + 1;
  57. result = session.run(x);
  58. print(result);
  59. }
  60. }
  61. Assert.AreEqual(15, result);
  62. }
  63. }
  64. }

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