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.

StringsApiTest.cs 2.2 kB

5 years ago
5 years ago
5 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using static Tensorflow.Binding;
  6. namespace Tensorflow.UnitTest.TF_API
  7. {
  8. [TestClass]
  9. public class StringsApiTest
  10. {
  11. [TestMethod]
  12. public void StringFromBytes()
  13. {
  14. var jpg = tf.constant(new byte[] { 0x41, 0xff, 0xd8, 0xff }, tf.@string);
  15. var strings = jpg.ToString();
  16. Assert.AreEqual(strings, @"tf.Tensor: shape=(), dtype=string, numpy=A\xff\xd8\xff");
  17. }
  18. [TestMethod]
  19. public void StringEqual()
  20. {
  21. var str1 = tf.constant("Hello1");
  22. var str2 = tf.constant("Hello2");
  23. var result = tf.equal(str1, str2);
  24. Assert.IsFalse(result.ToScalar<bool>());
  25. var str3 = tf.constant("Hello1");
  26. result = tf.equal(str1, str3);
  27. Assert.IsTrue(result.ToScalar<bool>());
  28. var str4 = tf.strings.substr(str1, 0, 5);
  29. var str5 = tf.strings.substr(str2, 0, 5);
  30. result = tf.equal(str4, str5);
  31. Assert.IsTrue(result.ToScalar<bool>());
  32. }
  33. [TestMethod]
  34. public void ImageType()
  35. {
  36. var imgPath = TestHelper.GetFullPathFromDataDir("shasta-daisy.jpg");
  37. var contents = tf.io.read_file(imgPath);
  38. var substr = tf.strings.substr(contents, 0, 3);
  39. var jpg = Encoding.UTF8.GetString(new byte[] { 0xff, 0xd8, 0xff });
  40. var jpg_tensor = tf.constant(jpg);
  41. var result = math_ops.equal(substr, jpg_tensor);
  42. }
  43. [TestMethod]
  44. public void StringArray()
  45. {
  46. var strings = new[] { "map_and_batch_fusion", "noop_elimination", "shuffle_and_repeat_fusion" };
  47. var tensor = tf.constant(strings, dtype: tf.@string, name: "optimizations");
  48. tensor.ToString();
  49. var stringData = tensor.StringData();
  50. Assert.AreEqual(3, tensor.shape[0]);
  51. Assert.AreEqual(strings[0], stringData[0]);
  52. Assert.AreEqual(strings[1], stringData[1]);
  53. Assert.AreEqual(strings[2], stringData[2]);
  54. }
  55. }
  56. }