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.

QueueTest.cs 1.3 kB

123456789101112131415161718192021222324252627282930313233343536
  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
  9. {
  10. [TestClass]
  11. public class QueueTest
  12. {
  13. [TestMethod]
  14. public void PaddingFIFOQueue()
  15. {
  16. var numbers = tf.placeholder(tf.int32);
  17. var queue = tf.PaddingFIFOQueue(capacity: 10, dtypes: new[] { tf.int32 }, shapes: new[] { new TensorShape(-1) });
  18. var enqueue = queue.enqueue(numbers);
  19. var dequeue_many = queue.dequeue_many(n: 3);
  20. using(var sess = tf.Session())
  21. {
  22. sess.run(enqueue, (numbers, new[] { 1 }));
  23. sess.run(enqueue, (numbers, new[] { 2, 3 }));
  24. sess.run(enqueue, (numbers, new[] { 3, 4, 5 }));
  25. var result = sess.run(dequeue_many[0]);
  26. Assert.IsTrue(Enumerable.SequenceEqual(new int[] { 1, 0, 0 }, result[0].ToArray<int>()));
  27. Assert.IsTrue(Enumerable.SequenceEqual(new int[] { 2, 3, 0 }, result[1].ToArray<int>()));
  28. Assert.IsTrue(Enumerable.SequenceEqual(new int[] { 3, 4, 5 }, result[2].ToArray<int>()));
  29. }
  30. }
  31. }
  32. }