ai-edge-torch-nightly 0.7.0.dev20251026__py3-none-any.whl → 0.7.0.dev20251028__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ai_edge_torch/generative/test/test_kv_cache.py +18 -6
- ai_edge_torch/version.py +1 -1
- {ai_edge_torch_nightly-0.7.0.dev20251026.dist-info → ai_edge_torch_nightly-0.7.0.dev20251028.dist-info}/METADATA +1 -1
- {ai_edge_torch_nightly-0.7.0.dev20251026.dist-info → ai_edge_torch_nightly-0.7.0.dev20251028.dist-info}/RECORD +7 -7
- {ai_edge_torch_nightly-0.7.0.dev20251026.dist-info → ai_edge_torch_nightly-0.7.0.dev20251028.dist-info}/LICENSE +0 -0
- {ai_edge_torch_nightly-0.7.0.dev20251026.dist-info → ai_edge_torch_nightly-0.7.0.dev20251028.dist-info}/WHEEL +0 -0
- {ai_edge_torch_nightly-0.7.0.dev20251026.dist-info → ai_edge_torch_nightly-0.7.0.dev20251028.dist-info}/top_level.txt +0 -0
|
@@ -41,6 +41,20 @@ class TestKVLayers(googletest.TestCase):
|
|
|
41
41
|
)
|
|
42
42
|
return config
|
|
43
43
|
|
|
44
|
+
def _assert_kv_cache_entry_equal(self, kv1, kv2):
|
|
45
|
+
self.assertIsInstance(kv1, kv_utils.KVCacheEntry)
|
|
46
|
+
self.assertIsInstance(kv2, kv_utils.KVCacheEntry)
|
|
47
|
+
self.assertEqual(kv1.kv_layout, kv2.kv_layout)
|
|
48
|
+
self.assertTrue(torch.equal(kv1.k_cache, kv2.k_cache))
|
|
49
|
+
self.assertTrue(torch.equal(kv1.v_cache, kv2.v_cache))
|
|
50
|
+
|
|
51
|
+
def _assert_kv_cache_equal(self, kv1, kv2):
|
|
52
|
+
self.assertIsInstance(kv1, kv_utils.KVCache)
|
|
53
|
+
self.assertIsInstance(kv2, kv_utils.KVCache)
|
|
54
|
+
self.assertEqual(len(kv1.caches), len(kv2.caches))
|
|
55
|
+
for kv1_entry, kv2_entry in zip(kv1.caches, kv2.caches):
|
|
56
|
+
self._assert_kv_cache_entry_equal(kv1_entry, kv2_entry)
|
|
57
|
+
|
|
44
58
|
def test_cache_udpate(self):
|
|
45
59
|
N = 1
|
|
46
60
|
HEAD_DIM = 2
|
|
@@ -118,7 +132,7 @@ class TestKVLayers(googletest.TestCase):
|
|
|
118
132
|
flat, treespec = pytree.tree_flatten(kv)
|
|
119
133
|
self.assertLen(flat, NUM_LAYERS * 2)
|
|
120
134
|
kv_unflat = pytree.tree_unflatten(flat, treespec)
|
|
121
|
-
self.
|
|
135
|
+
self._assert_kv_cache_equal(kv, kv_unflat)
|
|
122
136
|
|
|
123
137
|
def test_pytree_roundtrip_kv_cache_derived(self):
|
|
124
138
|
NUM_LAYERS = 4
|
|
@@ -134,7 +148,7 @@ class TestKVLayers(googletest.TestCase):
|
|
|
134
148
|
flat, treespec = pytree.tree_flatten(kv)
|
|
135
149
|
self.assertLen(flat, NUM_LAYERS * 2)
|
|
136
150
|
kv_unflat = pytree.tree_unflatten(flat, treespec)
|
|
137
|
-
self.
|
|
151
|
+
self._assert_kv_cache_equal(kv, kv_unflat)
|
|
138
152
|
|
|
139
153
|
def test_pytree_roundtrip_kv_entry(self):
|
|
140
154
|
attn_config = cfg.AttentionConfig(
|
|
@@ -144,8 +158,7 @@ class TestKVLayers(googletest.TestCase):
|
|
|
144
158
|
flat, treespec = pytree.tree_flatten(kv)
|
|
145
159
|
self.assertLen(flat, 2)
|
|
146
160
|
kv_unflat = pytree.tree_unflatten(flat, treespec)
|
|
147
|
-
self.
|
|
148
|
-
self.assertIsInstance(kv_unflat, kv_utils.KVCacheEntry)
|
|
161
|
+
self._assert_kv_cache_entry_equal(kv, kv_unflat)
|
|
149
162
|
|
|
150
163
|
def test_pytree_roundtrip_kv_entry_derived(self):
|
|
151
164
|
attn_config = cfg.AttentionConfig(
|
|
@@ -157,8 +170,7 @@ class TestKVLayers(googletest.TestCase):
|
|
|
157
170
|
flat, treespec = pytree.tree_flatten(kv)
|
|
158
171
|
self.assertLen(flat, 2)
|
|
159
172
|
kv_unflat = pytree.tree_unflatten(flat, treespec)
|
|
160
|
-
self.
|
|
161
|
-
self.assertIsInstance(kv_unflat, kv_utils.KVCacheEntry)
|
|
173
|
+
self._assert_kv_cache_entry_equal(kv, kv_unflat)
|
|
162
174
|
|
|
163
175
|
|
|
164
176
|
if __name__ == "__main__":
|
ai_edge_torch/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ai-edge-torch-nightly
|
|
3
|
-
Version: 0.7.0.
|
|
3
|
+
Version: 0.7.0.dev20251028
|
|
4
4
|
Summary: Supporting PyTorch models with the Google AI Edge TFLite runtime.
|
|
5
5
|
Home-page: https://github.com/google-ai-edge/ai-edge-torch
|
|
6
6
|
Keywords: On-Device ML,AI,Google,TFLite,PyTorch,LLMs,GenAI
|
|
@@ -2,7 +2,7 @@ ai_edge_torch/__init__.py,sha256=lemyLCNoGYRnJsmDuGZu7qOqLbLqG6CGDFtu3ue1syU,129
|
|
|
2
2
|
ai_edge_torch/_config.py,sha256=AiqhbcheF7j_ozIGDLC89k1we95aVgFDa-tR6h7UI0s,2529
|
|
3
3
|
ai_edge_torch/conftest.py,sha256=r0GTrhMRhlmOGrrkvumHN8hkmyug6WvF60vWq8wRIBI,758
|
|
4
4
|
ai_edge_torch/model.py,sha256=A7loFu8jE9CsXsfMmHYZ-KDFJiaD8Kkqwm_9d3IVzk0,5638
|
|
5
|
-
ai_edge_torch/version.py,sha256=
|
|
5
|
+
ai_edge_torch/version.py,sha256=nyYzWr9H5qeB7EwfB29uEskmVnED_E-YkjvbTfteADc,806
|
|
6
6
|
ai_edge_torch/_convert/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
|
|
7
7
|
ai_edge_torch/_convert/conversion.py,sha256=iQk3R-pLq4c1nfLqPB4xTRj78gghxPGzJCJtILLdg5o,6123
|
|
8
8
|
ai_edge_torch/_convert/conversion_utils.py,sha256=Sr8qXVcTwc-ZnZmK7yxVrIOOp1S_vNrwzC0zUvLTI2o,2160
|
|
@@ -200,7 +200,7 @@ ai_edge_torch/generative/quantize/quant_recipes.py,sha256=mmPsgQ2vloMWflqJ6ALmD1
|
|
|
200
200
|
ai_edge_torch/generative/quantize/supported_schemes.py,sha256=TwR2FpQuBEORy6FshEyHNBMKARWlA2MVtTfX9tXV5aE,1488
|
|
201
201
|
ai_edge_torch/generative/test/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
|
|
202
202
|
ai_edge_torch/generative/test/test_custom_dus.py,sha256=MjIhTvkTko872M35XMciobvICcDWTcIDJ3rociko-wM,3267
|
|
203
|
-
ai_edge_torch/generative/test/test_kv_cache.py,sha256=
|
|
203
|
+
ai_edge_torch/generative/test/test_kv_cache.py,sha256=kdoBpyzVOjQsZkEPnbDOh33gRE0RR8tq1XCgJkSYwU0,6157
|
|
204
204
|
ai_edge_torch/generative/test/test_loader.py,sha256=9mQUeeZKOVApOWSWl2cN9c10axZjMKM1-0Zd823CCS4,3449
|
|
205
205
|
ai_edge_torch/generative/test/test_lora.py,sha256=sKnBixmGIXHUtOwh3SA4MIFenPbjK2n-Xknwic_KMDQ,5046
|
|
206
206
|
ai_edge_torch/generative/test/test_model_conversion.py,sha256=T35zdzag2-nmy4qc6AifAjbDXAHU2vyLTE1QCabYBzk,6298
|
|
@@ -270,8 +270,8 @@ ai_edge_torch/testing/__init__.py,sha256=_yGgvnBZWb7T3IN3mc4x1sS4vM96HZwM8pwIcPG
|
|
|
270
270
|
ai_edge_torch/testing/export.py,sha256=k5mGDGzwc23Z4zaIVDs8CNh-oOt64gsf9MS9NjhbPy4,3293
|
|
271
271
|
ai_edge_torch/testing/model_coverage/__init__.py,sha256=5P8J6Zk5YYtDvTBucFvB9NGSRI7Gw_24WnrbhXgycEE,765
|
|
272
272
|
ai_edge_torch/testing/model_coverage/model_coverage.py,sha256=UPB448aMDUyC0HNYVqio2rcJPnDN0tBQMP08J6vPYew,4718
|
|
273
|
-
ai_edge_torch_nightly-0.7.0.
|
|
274
|
-
ai_edge_torch_nightly-0.7.0.
|
|
275
|
-
ai_edge_torch_nightly-0.7.0.
|
|
276
|
-
ai_edge_torch_nightly-0.7.0.
|
|
277
|
-
ai_edge_torch_nightly-0.7.0.
|
|
273
|
+
ai_edge_torch_nightly-0.7.0.dev20251028.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
274
|
+
ai_edge_torch_nightly-0.7.0.dev20251028.dist-info/METADATA,sha256=l8GlfrlrRJuJIeQMp1rCHPjaOBXjCND_vZbgAg37iVg,2074
|
|
275
|
+
ai_edge_torch_nightly-0.7.0.dev20251028.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
276
|
+
ai_edge_torch_nightly-0.7.0.dev20251028.dist-info/top_level.txt,sha256=5KXRaF2hwkApYxf7Y8y_tVb9aulGTlbOoNdbx1aKRkE,14
|
|
277
|
+
ai_edge_torch_nightly-0.7.0.dev20251028.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|