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.

SessionTest.cs 1.6 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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 SessionTest : CApiTest
  10. {
  11. /// <summary>
  12. /// tensorflow\c\c_api_test.cc
  13. /// `TEST(CAPI, Session)`
  14. /// </summary>
  15. [TestMethod]
  16. public void Session()
  17. {
  18. var s = new Status();
  19. var graph = new Graph();
  20. // Make a placeholder operation.
  21. var feed = c_test_util.ScalarConst(3, graph, s, "scalar1"); //c_test_util.Placeholder(graph, s);
  22. // Make a constant operation with the scalar "2".
  23. var two = c_test_util.ScalarConst(2, graph, s, "scalar2");
  24. // Add operation.
  25. var add = c_test_util.Add(feed, two, graph, s);
  26. var csession = new CSession(graph, s);
  27. ASSERT_EQ(TF_Code.TF_OK, s.Code);
  28. // Run the graph.
  29. var inputs = new Dictionary<IntPtr, IntPtr>();
  30. inputs.Add(feed, c_test_util.Int32Tensor(3));
  31. //csession.SetInputs(inputs);
  32. var outputs = new List<IntPtr> { add };
  33. csession.SetOutputs(outputs);
  34. csession.Run(s);
  35. Tensor outTensor = csession.output_tensor(0);
  36. EXPECT_EQ(TF_DataType.TF_INT32, outTensor.dtype);
  37. EXPECT_EQ(0, outTensor.NDims);
  38. ASSERT_EQ((ulong)sizeof(uint), outTensor.bytesize);
  39. var output_contents = outTensor.Data<int>();
  40. EXPECT_EQ(3 + 2, output_contents[0]);
  41. }
  42. }
  43. }

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

Contributors (1)