Skip to content

Commit 7f507fa

Browse files
vpenadesOceania2018
authored andcommitted
Added use case for creating and resizing a tensor.
1 parent b821d82 commit 7f507fa

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

test/TensorFlowNET.UnitTest/Basics/TensorTest.cs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,5 +273,43 @@ public void boolean_mask()
273273
Assert.IsTrue(Enumerable.SequenceEqual(new int[] { 0, 2 }, masked.ToArray<int>()));
274274
}
275275
}
276+
277+
/// <summary>
278+
/// Creates a tensor from an image of 256x256x3 and resizes it to 100x100x3
279+
/// </summary>
280+
[TestMethod]
281+
public unsafe void tensor_resize()
282+
{
283+
var imageArray = new float[256 * 256 * 3];
284+
285+
using var newSize = tf.convert_to_tensor(new int[] { 100, 100 });
286+
287+
using (var t = new Tensor(imageArray, new long[] { 1, 256, 256, 3 }, tf.float32))
288+
{
289+
Assert.IsFalse(t.IsDisposed);
290+
Assert.AreEqual(256 * 256 * 3 * sizeof(float), (int)t.bytesize);
291+
292+
using var resized = tf.image.resize_bilinear(t, newSize);
293+
EXPECT_EQ((int)resized.shape[0], 1);
294+
EXPECT_EQ((int)resized.shape[1], 100);
295+
EXPECT_EQ((int)resized.shape[2], 100);
296+
EXPECT_EQ((int)resized.shape[3], 3);
297+
}
298+
299+
fixed (float* ptr = &imageArray[0])
300+
{
301+
using (var t = new Tensor((IntPtr)ptr, new long[] { imageArray.Length }, tf.float32, 4 * imageArray.Length))
302+
{
303+
Assert.IsFalse(t.IsDisposed);
304+
Assert.AreEqual(256 * 256 * 3 * sizeof(float), (int)t.bytesize);
305+
306+
using var resized = tf.image.resize_bilinear(t, newSize);
307+
EXPECT_EQ((int)resized.shape[0], 1);
308+
EXPECT_EQ((int)resized.shape[1], 100);
309+
EXPECT_EQ((int)resized.shape[2], 100);
310+
EXPECT_EQ((int)resized.shape[3], 3);
311+
}
312+
}
313+
}
276314
}
277315
}

0 commit comments

Comments
 (0)