MCPcopy Create free account
hub / github.com/pytorch/executorch / test_normal_tensor_conversion

Method test_normal_tensor_conversion

exir/tests/test_tensor.py:50–92  ·  view source on GitHub ↗

Testing a normal tensor

(self)

Source from the content-addressed store, hash-verified

48 self.assertEqual(flatbuffer_tensor.dim_order, dim_order)
49
50 def test_normal_tensor_conversion(self) -> None:
51 """Testing a normal tensor"""
52
53 normal_tensor = torch.randn(2, 2, 3)
54 flatbuffer_tensor = make_tensor_value(
55 1, 0, TensorSpec.from_tensor(normal_tensor)
56 )
57 self.compare_tensors(normal_tensor, flatbuffer_tensor)
58
59 # Test zero size tensor
60 normal_tensor = torch.randn(2, 2, 0)
61 flatbuffer_tensor = make_tensor_value(
62 1, 0, TensorSpec.from_tensor(normal_tensor)
63 )
64 self.compare_tensors(normal_tensor, flatbuffer_tensor)
65
66 # Test zero size tensor
67 normal_tensor = torch.randn(2, 0, 3)
68 flatbuffer_tensor = make_tensor_value(
69 1, 0, TensorSpec.from_tensor(normal_tensor)
70 )
71 self.compare_tensors(normal_tensor, flatbuffer_tensor)
72
73 # Test zero size tensor
74 normal_tensor = torch.randn(0, 2, 3)
75 flatbuffer_tensor = make_tensor_value(
76 1, 0, TensorSpec.from_tensor(normal_tensor)
77 )
78 self.compare_tensors(normal_tensor, flatbuffer_tensor)
79
80 # Compare dim order
81 normal_tensor = torch.rand((2, 2, 3, 4))
82 flatbuffer_tensor = make_tensor_value(
83 1, 0, TensorSpec.from_tensor(normal_tensor)
84 )
85 self.compare_tensors(normal_tensor, flatbuffer_tensor, dim_order=[0, 1, 2, 3])
86 # cannot compare torch.memory_format = torch.channels_last because make_tensor_value
87 # infers strides from sizes assuming tensor dimensions are laid out in memory
88 # in the same order as indicated by dimension order of sizes array.
89 # e.g. for sizes = (2, 3, 4, 5), it assumes dimension order is (0, 1, 2, 3) and
90 # thus strides = (3*4*5, 4*5, 5, 1)
91 # whereas strides for torch.memory_format = torch.channels_last is
92 # (3*4*5, 1, 5*3, 3))
93
94 def test_fp8_tensor_conversion(self) -> None:
95 for dtype in (torch.float8_e5m2, torch.float8_e4m3fn):

Callers

nothing calls this directly

Calls 3

compare_tensorsMethod · 0.95
make_tensor_valueFunction · 0.90
from_tensorMethod · 0.45

Tested by

no test coverage detected