public void TestReshapeFloat2DPointToTheSameStorage() { var x = FloatTorchTensor.Create(5, 10); for (int i = 0; i < x.Dimensions[0]; i++) { for (int j = 0; j < x.Dimensions[1]; j++) { float tmp = (float)(i + j); x[i, j] = tmp; } } Tensor <float> y = x.Reshape(new int[] { 10, 5 }); x[4, 9] = 0; y[3, 4] = 0; for (int i = 0; i < 1; i++) { for (int j = 0; j < 10; j++) { Assert.Equal(x[i, j], y[i * 2 + j / 5, j % 5]); } } }
public void TestReshapeFloat1DFail() { Tensor <float> x = FloatTorchTensor.Create(10); x.Fill((float)1); Assert.Throws <ArgumentException>(() => x.Reshape(new int[] { 9 })); }
public void TestShapeAndStridesFloat4D() { var x = FloatTorchTensor.Create(10, 10, 3, 10); for (int i = 0; i < 4; i++) { Assert.Equal(x.Dimensions[0], (int)x.TorchSharpTensor.GetTensorDimension(0)); Assert.Equal(x.Strides[0], (int)x.TorchSharpTensor.GetTensorStride(0)); } }
public void TestFillFloat1D() { Tensor <float> x = FloatTorchTensor.Create(10); x.Fill((float)30); for (int i = 0; i < x.Dimensions[0]; i++) { Assert.Equal(30, x[i]); } }
public void TestFillBySetFloat1D() { Tensor <float> x = FloatTorchTensor.Create(10); for (int i = 0; i < x.Dimensions[0]; i++) { x[i] = (float)30; } for (int i = 0; i < x.Dimensions[0]; i++) { Assert.Equal(x[i], (float)30); } }
public void TestCloneEmptyFloat1D() { Tensor <float> x = FloatTorchTensor.Create(10); x.Fill((float)1); Tensor <float> y = x.CloneEmpty(); Assert.Equal(y.Dimensions.ToArray(), x.Dimensions.ToArray()); for (int i = 0; i < x.Dimensions[0]; i++) { Assert.Equal(y[i], (float)0); } }
public void TestDanglingMemoryFloat() { Memory <float> buffer; using (var x = FloatTorchTensor.Create(10)) { x.Fill(33); buffer = x.Buffer; } var arr = buffer.ToArray(); for (int i = 0; i < 10; i++) { Assert.Equal(33, arr[i]); } }
public void TestReshapeFloat2D() { var x = FloatTorchTensor.Create(5, 10); var y = x.Reshape(new int[] { 10, 5 }); for (int i = 0; i < 2; i++) { Assert.Equal(x.Dimensions[0], (int)x.TorchSharpTensor.GetTensorDimension(0)); Assert.Equal(x.Strides[0], (int)x.TorchSharpTensor.GetTensorStride(0)); } Equals(x.Dimensions.ToArray(), new int[] { 5, 10 }); Equals(x.Strides.ToArray(), new int[] { 1, 10 }); Equals(y.Dimensions.ToArray(), new int[] { 10, 5 }); Equals(y.Strides.ToArray(), new int[] { 1, 5 }); }
public void TestReshapeFloat1D() { Tensor <float> x = FloatTorchTensor.Create(10); for (int i = 0; i < x.Dimensions[0]; i++) { x[i] = (float)i; } Tensor <float> y = x.Reshape(new int[] { 10 }); for (int i = 0; i < x.Dimensions[0]; i++) { Assert.Equal(y[i], (float)i); Assert.Equal(x[i], (float)i); } }
public void TestCloneFloat1D() { Tensor <float> x = FloatTorchTensor.Create(10); x.Fill((float)1); Tensor <float> y = x.Clone(); for (int i = 0; i < x.Dimensions[0]; i++) { Assert.Equal(x[i], y[i]); } y[5] = (float)0; Assert.NotEqual(x[5], y[5]); }
public void TestReshapeFloat1DPointToTheSameStorage() { Tensor <float> x = FloatTorchTensor.Create(10); for (int i = 0; i < x.Dimensions[0]; i++) { x[i] = (float)i; } Tensor <float> y = x.Reshape(new int[] { 10 }); y[5] = (float)0; for (int i = 0; i < x.Dimensions[0]; i++) { Assert.Equal(y[i], x[i]); } }
public void TestFillBySetFloat2D() { Tensor <float> x = FloatTorchTensor.Create(10, 10); for (int i = 0; i < x.Dimensions[0]; i++) { for (int j = 0; j < x.Dimensions[1]; j++) { x[i, j] = (float)30; } } for (int i = 0; i < x.Dimensions[0]; i++) { for (int j = 0; j < x.Dimensions[1]; j++) { Assert.Equal(x[i, j], (float)30); } } }
public void TestFillEquivalanceFloat2D() { var x = FloatTorchTensor.Create(10, 10); for (int i = 0; i < x.Dimensions[0]; i++) { for (int j = 0; j < x.Dimensions[1]; j++) { float tmp = (float)(i + j); x[i, j] = tmp; } } for (int i = 0; i < x.Dimensions[0]; i++) { for (int j = 0; j < x.Dimensions[1]; j++) { Assert.Equal(x[i, j], x.TorchSharpTensor[i, j]); } } }
public void TestCreationFloat4D() { Tensor <float> x = FloatTorchTensor.Create(10, 10, 3, 10); Assert.NotNull(x); }
public void TestCreationFloat0D() { Assert.Throws <ArgumentOutOfRangeException>(() => FloatTorchTensor.Create()); }