ai-edge-torch-nightly 0.7.0.dev20251027__py3-none-any.whl → 0.7.0.dev20251030__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.
@@ -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.assertEqual(kv, kv_unflat)
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.assertEqual(kv, kv_unflat)
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.assertEqual(kv, kv_unflat)
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.assertEqual(kv, kv_unflat)
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
@@ -15,4 +15,4 @@
15
15
 
16
16
  # The next version of ai-edge-torch.
17
17
  # The minor version code should be bumped after every release.
18
- __version__ = "0.7.0.dev20251027"
18
+ __version__ = "0.7.0.dev20251030"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ai-edge-torch-nightly
3
- Version: 0.7.0.dev20251027
3
+ Version: 0.7.0.dev20251030
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=J5821O8tfwrynG-vV8t8RP0SPSRmM6szPEPYHOj4anA,806
5
+ ai_edge_torch/version.py,sha256=6U_4mx5c9GOXVq7C46sCV4RWUZbS52UfZKmlNaQawmA,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=zVocQZTORIROwSYVMmy5KGPDl6kTuEGko7L1PTkua8g,5568
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.dev20251027.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
274
- ai_edge_torch_nightly-0.7.0.dev20251027.dist-info/METADATA,sha256=R1GYwxhelm4bBGoHDxrAAX92Uq6CvkrpxsxEY_qDhz0,2074
275
- ai_edge_torch_nightly-0.7.0.dev20251027.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
276
- ai_edge_torch_nightly-0.7.0.dev20251027.dist-info/top_level.txt,sha256=5KXRaF2hwkApYxf7Y8y_tVb9aulGTlbOoNdbx1aKRkE,14
277
- ai_edge_torch_nightly-0.7.0.dev20251027.dist-info/RECORD,,
273
+ ai_edge_torch_nightly-0.7.0.dev20251030.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
274
+ ai_edge_torch_nightly-0.7.0.dev20251030.dist-info/METADATA,sha256=CoM-wa0G6c29UTY2Amb73-ACRsg2PtWt74zDcSdaF00,2074
275
+ ai_edge_torch_nightly-0.7.0.dev20251030.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
276
+ ai_edge_torch_nightly-0.7.0.dev20251030.dist-info/top_level.txt,sha256=5KXRaF2hwkApYxf7Y8y_tVb9aulGTlbOoNdbx1aKRkE,14
277
+ ai_edge_torch_nightly-0.7.0.dev20251030.dist-info/RECORD,,