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
         
     |