ai-edge-torch-nightly 0.6.0.dev20250610__py3-none-any.whl → 0.6.0.dev20250612__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/examples/amd_llama_135m/verify_util.py +1 -0
- ai_edge_torch/generative/examples/deepseek/verify_util.py +1 -0
- ai_edge_torch/generative/examples/gemma/verify_gemma1.py +4 -1
- ai_edge_torch/generative/examples/gemma/verify_util.py +20 -7
- ai_edge_torch/generative/examples/gemma3/verify_util.py +18 -10
- ai_edge_torch/generative/examples/hammer/verify_util.py +1 -0
- ai_edge_torch/generative/examples/llama/verify_util.py +1 -0
- ai_edge_torch/generative/examples/openelm/verify_util.py +1 -0
- ai_edge_torch/generative/examples/paligemma/verify.py +6 -2
- ai_edge_torch/generative/examples/paligemma/verify_decoder.py +3 -1
- ai_edge_torch/generative/examples/paligemma/verify_decoder2.py +3 -1
- ai_edge_torch/generative/examples/phi/verify_util.py +1 -0
- ai_edge_torch/generative/examples/qwen/verify_util.py +1 -0
- ai_edge_torch/generative/examples/qwen_vl/verify.py +7 -2
- ai_edge_torch/generative/examples/qwen_vl/verify_decoder.py +3 -1
- ai_edge_torch/generative/examples/smollm/verify_util.py +1 -0
- ai_edge_torch/generative/examples/tiny_llama/verify_util.py +1 -0
- ai_edge_torch/generative/utilities/verifier.py +5 -1
- ai_edge_torch/odml_torch/lowerings/_basic.py +12 -0
- ai_edge_torch/version.py +1 -1
- {ai_edge_torch_nightly-0.6.0.dev20250610.dist-info → ai_edge_torch_nightly-0.6.0.dev20250612.dist-info}/METADATA +1 -1
- {ai_edge_torch_nightly-0.6.0.dev20250610.dist-info → ai_edge_torch_nightly-0.6.0.dev20250612.dist-info}/RECORD +25 -25
- {ai_edge_torch_nightly-0.6.0.dev20250610.dist-info → ai_edge_torch_nightly-0.6.0.dev20250612.dist-info}/LICENSE +0 -0
- {ai_edge_torch_nightly-0.6.0.dev20250610.dist-info → ai_edge_torch_nightly-0.6.0.dev20250612.dist-info}/WHEEL +0 -0
- {ai_edge_torch_nightly-0.6.0.dev20250610.dist-info → ai_edge_torch_nightly-0.6.0.dev20250612.dist-info}/top_level.txt +0 -0
@@ -60,6 +60,7 @@ def verify_amd_llama_135m(
|
|
60
60
|
reauthored_model = amd_llama_135m.build_model(
|
61
61
|
checkpoint_path=reauthored_checkpoint,
|
62
62
|
custom_loader=custom_loader,
|
63
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
63
64
|
)
|
64
65
|
|
65
66
|
logging.info("Loading the tokenizer from: %s", checkpoint_dir)
|
@@ -60,6 +60,7 @@ def verify_deepseek_r1_distill_1_5b(
|
|
60
60
|
reauthored_model = deepseek.build_model(
|
61
61
|
checkpoint_path=reauthored_checkpoint,
|
62
62
|
custom_loader=custom_loader,
|
63
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
63
64
|
)
|
64
65
|
|
65
66
|
logging.info("Loading the tokenizer from: %s", checkpoint_dir)
|
@@ -20,6 +20,7 @@ from absl import app
|
|
20
20
|
from absl import flags
|
21
21
|
from ai_edge_torch.generative.examples.gemma import gemma1
|
22
22
|
from ai_edge_torch.generative.examples.gemma import verify_util
|
23
|
+
from ai_edge_torch.generative.utilities import verifier
|
23
24
|
import kagglehub
|
24
25
|
|
25
26
|
|
@@ -39,7 +40,9 @@ def main(_):
|
|
39
40
|
checkpoint = kagglehub.model_download("google/gemma/pyTorch/2b-it")
|
40
41
|
|
41
42
|
logging.info("Building the reauthored model from: %s", checkpoint)
|
42
|
-
reauthored_model = gemma1.build_2b_model(
|
43
|
+
reauthored_model = gemma1.build_2b_model(
|
44
|
+
checkpoint, mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN
|
45
|
+
)
|
43
46
|
|
44
47
|
verify_util.verify_reauthored_gemma_model(
|
45
48
|
checkpoint=checkpoint,
|
@@ -62,8 +62,13 @@ class GemmaWrapper(verifier.ModelWrapper):
|
|
62
62
|
actual_input_len = self._get_actual_input_len(tokens)
|
63
63
|
input_pos = torch.arange(0, actual_input_len, dtype=torch.long)
|
64
64
|
mask_cache = attn_utils.build_causal_mask_cache(tokens.shape[1])
|
65
|
-
local_mask_cache =
|
66
|
-
|
65
|
+
local_mask_cache = (
|
66
|
+
attn_utils.build_sliding_window_mask_cache(
|
67
|
+
tokens.shape[1], self.model.config.sliding_window_size
|
68
|
+
)
|
69
|
+
if self.model.config.sliding_window_size
|
70
|
+
else None # Do not use local mask cache if sliding window size is None.
|
71
|
+
)
|
67
72
|
_, logits = self.model.forward(
|
68
73
|
input_token_ids=tokens[0, :actual_input_len].unsqueeze(0),
|
69
74
|
input_positions=input_pos,
|
@@ -75,6 +80,8 @@ class GemmaWrapper(verifier.ModelWrapper):
|
|
75
80
|
top_ps=torch.tensor([1.0], dtype=torch.float),
|
76
81
|
top_ks=torch.tensor([1], dtype=torch.long),
|
77
82
|
local_mask=local_mask_cache.index_select(2, input_pos)
|
83
|
+
if local_mask_cache
|
84
|
+
else None,
|
78
85
|
)
|
79
86
|
return logits
|
80
87
|
|
@@ -143,9 +150,7 @@ def verify_reauthored_gemma_model(
|
|
143
150
|
return verifier.verify_reauthored_model(
|
144
151
|
original_model=GemmaWrapper(original_model),
|
145
152
|
reauthored_model=verifier.ReauthoredModelWrapper(
|
146
|
-
reauthored_model,
|
147
|
-
mask_as_input=mask_as_input,
|
148
|
-
kv_layout=kv_layout,
|
153
|
+
reauthored_model, mask_as_input, kv_layout
|
149
154
|
),
|
150
155
|
tokenizer=GemmaTokenizerWrapper(original_model.tokenizer),
|
151
156
|
generate_prompts=generate_prompts,
|
@@ -171,7 +176,11 @@ def verify_gemma2(
|
|
171
176
|
"""
|
172
177
|
checkpoint_path = os.path.join(checkpoint_dir, weight_filename)
|
173
178
|
logging.info("Building the reauthored model from: %s", checkpoint_path)
|
174
|
-
reauthored_model = gemma2.build_2b_model(
|
179
|
+
reauthored_model = gemma2.build_2b_model(
|
180
|
+
checkpoint_path,
|
181
|
+
custom_loader,
|
182
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
183
|
+
)
|
175
184
|
|
176
185
|
return verify_reauthored_gemma_model(
|
177
186
|
checkpoint=checkpoint_dir,
|
@@ -193,7 +202,11 @@ def verify_gemma1_with_custom_loader(checkpoint_dir: str) -> bool:
|
|
193
202
|
weight_filename = "gemma-2b-it.ckpt"
|
194
203
|
checkpoint_path = os.path.join(checkpoint_dir, weight_filename)
|
195
204
|
custom_loader = loader.get_custom_loader(checkpoint_path)
|
196
|
-
reauthored_model = gemma1.build_2b_model(
|
205
|
+
reauthored_model = gemma1.build_2b_model(
|
206
|
+
checkpoint_path,
|
207
|
+
custom_loader,
|
208
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
209
|
+
)
|
197
210
|
return verify_reauthored_gemma_model(
|
198
211
|
checkpoint=checkpoint_dir,
|
199
212
|
variant="2b",
|
@@ -93,21 +93,27 @@ class GemmaWrapper(verifier.ModelWrapper):
|
|
93
93
|
class UnifiedGemma3Wrapper(verifier.ReauthoredModelWrapper):
|
94
94
|
"""Unified Gemma3 model wrapper for verification."""
|
95
95
|
|
96
|
-
def __init__(
|
97
|
-
|
96
|
+
def __init__(
|
97
|
+
self,
|
98
|
+
model: torch.nn.Module,
|
99
|
+
kv_cache_max_len: int = verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
100
|
+
):
|
101
|
+
super().__init__(
|
102
|
+
model,
|
103
|
+
kv_layout=kv_utils.KV_LAYOUT_TRANSPOSED,
|
104
|
+
kv_cache_max_len=kv_cache_max_len,
|
105
|
+
)
|
98
106
|
|
99
107
|
def _init_kv_cache(self):
|
100
108
|
return kv_utils.KVCache.from_model_config(
|
101
|
-
self.model.model.config, kv_layout=self.kv_layout
|
109
|
+
self.kv_cache_max_len, self.model.model.config, kv_layout=self.kv_layout
|
102
110
|
)
|
103
111
|
|
104
112
|
def forward(
|
105
113
|
self, tokens: torch.Tensor, pixel_values: torch.Tensor = None
|
106
114
|
) -> torch.Tensor:
|
107
115
|
"""Forwards the model."""
|
108
|
-
mask = attn_utils.build_causal_mask_cache(
|
109
|
-
self.model.model.config.kv_cache_max_len
|
110
|
-
)
|
116
|
+
mask = attn_utils.build_causal_mask_cache(self.kv_cache_max_len)
|
111
117
|
input_pos = torch.arange(0, tokens.shape[1], dtype=torch.int)
|
112
118
|
mask = mask.index_select(2, input_pos)
|
113
119
|
output = self.model.model.forward(
|
@@ -127,9 +133,7 @@ class UnifiedGemma3Wrapper(verifier.ReauthoredModelWrapper):
|
|
127
133
|
tokens = torch.tensor([input_ids])
|
128
134
|
input_pos = torch.arange(0, tokens.shape[1], dtype=torch.int)
|
129
135
|
kv_cache = self._init_kv_cache()
|
130
|
-
mask_cache = attn_utils.build_causal_mask_cache(
|
131
|
-
self.model.model.config.kv_cache_max_len
|
132
|
-
)
|
136
|
+
mask_cache = attn_utils.build_causal_mask_cache(self.kv_cache_max_len)
|
133
137
|
for _ in range(max_new_tokens):
|
134
138
|
mask = mask_cache.index_select(2, input_pos)
|
135
139
|
output = self.model.model.forward(
|
@@ -245,7 +249,11 @@ def verify_gemma3(
|
|
245
249
|
|
246
250
|
if variant == "1b":
|
247
251
|
reauthored_model = UnifiedGemma3Wrapper(
|
248
|
-
gemma3.build_model_1b(
|
252
|
+
gemma3.build_model_1b(
|
253
|
+
gemma3_model_path,
|
254
|
+
custom_loader,
|
255
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
256
|
+
)
|
249
257
|
)
|
250
258
|
else:
|
251
259
|
raise ValueError(f"Unsupported Gemma3 variant: {variant}")
|
@@ -66,6 +66,7 @@ def verify_hammer(
|
|
66
66
|
reauthored_model = _BUILDER[model_size](
|
67
67
|
checkpoint_path=reauthored_checkpoint,
|
68
68
|
custom_loader=custom_loader,
|
69
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
69
70
|
)
|
70
71
|
|
71
72
|
logging.info("Loading the tokenizer from: %s", checkpoint_dir)
|
@@ -65,6 +65,7 @@ def verify_llama_3_2(
|
|
65
65
|
reauthored_model = _BUILDER[model_size](
|
66
66
|
checkpoint_path=reauthored_checkpoint,
|
67
67
|
custom_loader=custom_loader,
|
68
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
68
69
|
)
|
69
70
|
|
70
71
|
logging.info("Loading the tokenizer from: %s", checkpoint_dir)
|
@@ -60,6 +60,7 @@ def verify_openelm(
|
|
60
60
|
reauthored_model = openelm.build_model(
|
61
61
|
checkpoint_path=reauthored_checkpoint,
|
62
62
|
custom_loader=custom_loader,
|
63
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
63
64
|
)
|
64
65
|
|
65
66
|
logging.info("Loading the tokenizer from: %s", checkpoint_dir)
|
@@ -66,7 +66,9 @@ class ReauthoredPaliGemmaWrapper(verifier.ReauthoredModelWrapper):
|
|
66
66
|
"""Reauthored PaliGemma model wrapper."""
|
67
67
|
|
68
68
|
def _init_kv_cache(self):
|
69
|
-
return kv_cache.KVCache.from_model_config(
|
69
|
+
return kv_cache.KVCache.from_model_config(
|
70
|
+
self.kv_cache_max_len, self.model.config.decoder_config
|
71
|
+
)
|
70
72
|
|
71
73
|
|
72
74
|
def main(_):
|
@@ -88,7 +90,9 @@ def main(_):
|
|
88
90
|
|
89
91
|
logging.info("Building the reauthored model from: %s", reauthored_checkpoint)
|
90
92
|
reauthored_model = paligemma.build_model(
|
91
|
-
reauthored_checkpoint,
|
93
|
+
reauthored_checkpoint,
|
94
|
+
version=int(_VERSION.value),
|
95
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
92
96
|
)
|
93
97
|
wrapped_reauthored_model = ReauthoredPaliGemmaWrapper(reauthored_model)
|
94
98
|
|
@@ -51,7 +51,9 @@ def main(_):
|
|
51
51
|
)
|
52
52
|
reauthored_checkpoint = pathlib.Path(cached_config_file).parent
|
53
53
|
logging.info("Building the reauthored model from: %s", reauthored_checkpoint)
|
54
|
-
reauthored_model = decoder.build_decoder(
|
54
|
+
reauthored_model = decoder.build_decoder(
|
55
|
+
reauthored_checkpoint, mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN
|
56
|
+
)
|
55
57
|
|
56
58
|
logging.info("Loading the tokenizer from: %s", checkpoint)
|
57
59
|
# It works only when GemmaTokenizerFast is available. In some environments,
|
@@ -48,7 +48,9 @@ def main(_):
|
|
48
48
|
original_language_model = original_full_model.eval().language_model
|
49
49
|
|
50
50
|
logging.info("Building the reauthored model from: %s", checkpoint)
|
51
|
-
reauthored_model = decoder2.build_decoder2(
|
51
|
+
reauthored_model = decoder2.build_decoder2(
|
52
|
+
checkpoint, mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN
|
53
|
+
)
|
52
54
|
|
53
55
|
logging.info("Loading the tokenizer from: %s", checkpoint)
|
54
56
|
# It works only when GemmaTokenizerFast is available. In some environments,
|
@@ -80,6 +80,7 @@ def verify_qwen(
|
|
80
80
|
reauthored_model = _BUILDER[model_version][model_size](
|
81
81
|
checkpoint_path=reauthored_checkpoint,
|
82
82
|
custom_loader=custom_loader,
|
83
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
83
84
|
)
|
84
85
|
|
85
86
|
logging.info("Loading the tokenizer from: %s", checkpoint_dir)
|
@@ -55,7 +55,9 @@ class ReauthoredQwenVLWrapper(verifier.ReauthoredModelWrapper):
|
|
55
55
|
"""Reauthored Qwen VL model wrapper."""
|
56
56
|
|
57
57
|
def _init_kv_cache(self):
|
58
|
-
return kv_cache.KVCache.from_model_config(
|
58
|
+
return kv_cache.KVCache.from_model_config(
|
59
|
+
self.kv_cache_max_len, self.model.config.decoder_config
|
60
|
+
)
|
59
61
|
|
60
62
|
|
61
63
|
def main(_):
|
@@ -73,7 +75,10 @@ def main(_):
|
|
73
75
|
)
|
74
76
|
reauthored_checkpoint = pathlib.Path(cached_config_file).parent
|
75
77
|
logging.info("Building the reauthored model from: %s", reauthored_checkpoint)
|
76
|
-
reauthored_model = qwen_vl.build_model(
|
78
|
+
reauthored_model = qwen_vl.build_model(
|
79
|
+
str(reauthored_checkpoint),
|
80
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
81
|
+
)
|
77
82
|
wrapped_reauthored_model = ReauthoredQwenVLWrapper(reauthored_model)
|
78
83
|
|
79
84
|
logging.info("Loading the processor from: %s", checkpoint)
|
@@ -52,7 +52,9 @@ def main(_):
|
|
52
52
|
)
|
53
53
|
reauthored_checkpoint = pathlib.Path(cached_config_file).parent
|
54
54
|
logging.info("Building the reauthored model from: %s", reauthored_checkpoint)
|
55
|
-
reauthored_model = decoder.build_decoder(
|
55
|
+
reauthored_model = decoder.build_decoder(
|
56
|
+
reauthored_checkpoint, mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN
|
57
|
+
)
|
56
58
|
|
57
59
|
# Verify the reauthored model only with input IDs because the original decoder
|
58
60
|
# does not support generate() with prompts.
|
@@ -65,6 +65,7 @@ def verify_smollm_135m(
|
|
65
65
|
reauthored_model = _BUILDER[model_version](
|
66
66
|
checkpoint_path=reauthored_checkpoint,
|
67
67
|
custom_loader=custom_loader,
|
68
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
68
69
|
)
|
69
70
|
|
70
71
|
logging.info("Loading the tokenizer from: %s", checkpoint_dir)
|
@@ -61,6 +61,7 @@ def verify_tiny_llama(
|
|
61
61
|
reauthored_model = tiny_llama.build_model(
|
62
62
|
checkpoint_path=reauthored_checkpoint,
|
63
63
|
custom_loader=custom_loader,
|
64
|
+
mask_cache_size=verifier.DEFAULT_KV_CACHE_MAX_LEN,
|
64
65
|
)
|
65
66
|
|
66
67
|
logging.info("Loading the tokenizer from: %s", checkpoint_dir)
|
@@ -24,6 +24,10 @@ import torch
|
|
24
24
|
|
25
25
|
ExportConfig = export_config.ExportConfig
|
26
26
|
|
27
|
+
# The default KV cache maximum length for the reauthored model for verification.
|
28
|
+
# If desired, each model can override it when a model is initialized.
|
29
|
+
DEFAULT_KV_CACHE_MAX_LEN = 256
|
30
|
+
|
27
31
|
|
28
32
|
class ModelWrapper(torch.nn.Module):
|
29
33
|
"""A wrapper for the model to be verified.
|
@@ -92,7 +96,7 @@ class ReauthoredModelWrapper(ModelWrapper):
|
|
92
96
|
model: torch.nn.Module,
|
93
97
|
mask_as_input: bool = False,
|
94
98
|
kv_layout: kv_utils.KVLayout = kv_utils.KV_LAYOUT_DEFAULT,
|
95
|
-
kv_cache_max_len: int =
|
99
|
+
kv_cache_max_len: int = DEFAULT_KV_CACHE_MAX_LEN,
|
96
100
|
):
|
97
101
|
"""Wraps a reauthored model with some options."""
|
98
102
|
super().__init__(model)
|
@@ -331,6 +331,18 @@ def _aten_sym_size_int(lctx, x: ir.Value, dim: int):
|
|
331
331
|
return stablehlo.get_dimension_size(x, dim)
|
332
332
|
|
333
333
|
|
334
|
+
# Lowering for the subtraction operator (`-`).
|
335
|
+
# Handles cases where one operand is an integer (scalar) and the other is a
|
336
|
+
# tensor, broadcasting the scalar to the tensor's shape before subtraction.
|
337
|
+
@lower(operator.sub)
|
338
|
+
def _operator_sub(lctx, self: int | ir.Value, other: int | ir.Value):
|
339
|
+
if isinstance(self, int) and isinstance(other, ir.Value):
|
340
|
+
self = utils.splat(self, other.type.element_type, other.type.shape)
|
341
|
+
if isinstance(other, int) and isinstance(self, ir.Value):
|
342
|
+
other = utils.splat(other, self.type.element_type, self.type.shape)
|
343
|
+
return stablehlo.subtract(self, other)
|
344
|
+
|
345
|
+
|
334
346
|
# Lowering for the multiplication operator (`*`).
|
335
347
|
# Handles cases where one operand is an integer (scalar) and the other is a
|
336
348
|
# tensor, broadcasting the scalar to the tensor's shape before multiplication.
|
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.6.0.
|
3
|
+
Version: 0.6.0.dev20250612
|
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=fUrxl7ESwOFUVUJ0CNVkVhUDStq6UHtLrAxcH5hdXzA,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
|
@@ -56,37 +56,37 @@ ai_edge_torch/generative/examples/amd_llama_135m/__init__.py,sha256=hHLluseD2R0H
|
|
56
56
|
ai_edge_torch/generative/examples/amd_llama_135m/amd_llama_135m.py,sha256=Z2oUQ--pXPgNQyGLdWDNdyC90cSZzDN9YnSclRrPWAg,2703
|
57
57
|
ai_edge_torch/generative/examples/amd_llama_135m/convert_to_tflite.py,sha256=ze0MPZsUJpIBSCMJB4BrnJT5MFomRcffvuZEqKG20AM,1848
|
58
58
|
ai_edge_torch/generative/examples/amd_llama_135m/verify.py,sha256=uyBg5-trxQEjEHDZMX4qojkcsZgERUiPqIgR9n0_AY4,1311
|
59
|
-
ai_edge_torch/generative/examples/amd_llama_135m/verify_util.py,sha256=
|
59
|
+
ai_edge_torch/generative/examples/amd_llama_135m/verify_util.py,sha256=J_FwH5KzS1tlyxcICSPir35gP2tWqRQ5wyVTsV9Uk8w,3018
|
60
60
|
ai_edge_torch/generative/examples/deepseek/__init__.py,sha256=JaAnrFoXTl3RJX97XspklkTyqOHVyAgRJsZtzNDd10c,671
|
61
61
|
ai_edge_torch/generative/examples/deepseek/convert_to_tflite.py,sha256=DvoHDBNc0GPW3kOv0TbGg0PnNTKijW_6z9LfQMku3RY,1816
|
62
62
|
ai_edge_torch/generative/examples/deepseek/deepseek.py,sha256=cm3rLw6aHFWQswwCqfvwxr05JG0maSzNVn1pBqD19qY,2816
|
63
63
|
ai_edge_torch/generative/examples/deepseek/verify.py,sha256=HkvgEyGb-V_f6mWfyeN7Ai5uADAVQNzWvkygaKJiLAc,1344
|
64
|
-
ai_edge_torch/generative/examples/deepseek/verify_util.py,sha256=
|
64
|
+
ai_edge_torch/generative/examples/deepseek/verify_util.py,sha256=xf2-jhv-ORwr_-Rs2UBpO2vcAwJNZIdmOxpcuKIQaww,3028
|
65
65
|
ai_edge_torch/generative/examples/gemma/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
|
66
66
|
ai_edge_torch/generative/examples/gemma/convert_gemma1_to_tflite.py,sha256=m5N3MxNX4Yu8-0vXRszkMgfVuFKN6gskVoUIGqonJFk,1814
|
67
67
|
ai_edge_torch/generative/examples/gemma/convert_gemma2_to_tflite.py,sha256=fR4869w1UZIuUVGLDdPof0IDEMDhqn2ej5kl7QW9vNA,1882
|
68
68
|
ai_edge_torch/generative/examples/gemma/gemma1.py,sha256=TH9XQAp5p4S829XbaWbJQZBwB18WizDRIQMsUkKqj38,3377
|
69
69
|
ai_edge_torch/generative/examples/gemma/gemma2.py,sha256=E6jotWYYIx6SXUWqurKWjiZpbfj_M2jJrBc2rQ90z1s,11782
|
70
|
-
ai_edge_torch/generative/examples/gemma/verify_gemma1.py,sha256=
|
70
|
+
ai_edge_torch/generative/examples/gemma/verify_gemma1.py,sha256=USyist332qZkhCBof2tJwQSqtnKjTQsKAK_jCE_CO2U,1853
|
71
71
|
ai_edge_torch/generative/examples/gemma/verify_gemma2.py,sha256=eAM7EVVMW-QCqjeZEss7TOkVKArgUs1La51LAC-5a9A,1962
|
72
|
-
ai_edge_torch/generative/examples/gemma/verify_util.py,sha256=
|
72
|
+
ai_edge_torch/generative/examples/gemma/verify_util.py,sha256=b12naCj4zZxOjkIKrd08qovtajYuX-Ba3fbrv6kkDZs,8410
|
73
73
|
ai_edge_torch/generative/examples/gemma3/__init__.py,sha256=JaAnrFoXTl3RJX97XspklkTyqOHVyAgRJsZtzNDd10c,671
|
74
74
|
ai_edge_torch/generative/examples/gemma3/convert_gemma3_to_tflite.py,sha256=UEDNN3JmI31WfE2pvacxeJpqumKK86L2dEus3yTURaY,2114
|
75
75
|
ai_edge_torch/generative/examples/gemma3/decoder.py,sha256=1UVv9SFFg5degX3wf-Fefx7nor1AzJj2NWBVuo8bRnM,15540
|
76
76
|
ai_edge_torch/generative/examples/gemma3/gemma3.py,sha256=fFMyIS8si3GdwW8EsdhYk1OKyg_27xDv1HTQ2Gv4N8E,6616
|
77
77
|
ai_edge_torch/generative/examples/gemma3/image_encoder.py,sha256=tUOI99kdny33qcDM7-z0R6F-1aU1lZ24kG5zeLVdwow,5129
|
78
78
|
ai_edge_torch/generative/examples/gemma3/verify_gemma3.py,sha256=v8oNXFICmVOtQxfO7IhZ8GnbvotEkDi9lzYHjoQyOso,2464
|
79
|
-
ai_edge_torch/generative/examples/gemma3/verify_util.py,sha256=
|
79
|
+
ai_edge_torch/generative/examples/gemma3/verify_util.py,sha256=5OmUwz38kVHYLA-v8U8evvDN9da2WioZtGo-XK6yq1o,10067
|
80
80
|
ai_edge_torch/generative/examples/hammer/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
|
81
81
|
ai_edge_torch/generative/examples/hammer/convert_to_tflite.py,sha256=BujBJml_ShWpKJyUgKAJqV4C6yd1uODjKg8fOgchPKI,2041
|
82
82
|
ai_edge_torch/generative/examples/hammer/hammer.py,sha256=0fz6LmZLXrVyty6w5T6LWRoqvQ-5XYREH6gFzB_gOu0,3737
|
83
83
|
ai_edge_torch/generative/examples/hammer/verify.py,sha256=iuKFMkI1VZc9_ESUQr32cHWHsDtYOAF702TdqhD3Ns4,1589
|
84
|
-
ai_edge_torch/generative/examples/hammer/verify_util.py,sha256=
|
84
|
+
ai_edge_torch/generative/examples/hammer/verify_util.py,sha256=vB5kiFcDBM2G-AkTByJarxur-kJT_J2wGCW4mzf5whc,2962
|
85
85
|
ai_edge_torch/generative/examples/llama/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
|
86
86
|
ai_edge_torch/generative/examples/llama/convert_to_tflite.py,sha256=K-hke37VBMWakuqCeRmpaZBujGWRykDIaUBKJQ0nI5g,2022
|
87
87
|
ai_edge_torch/generative/examples/llama/llama.py,sha256=PpC3idSFSATjQzcLv8oXwo66_5zU-B_np2YVAs2Naog,6602
|
88
88
|
ai_edge_torch/generative/examples/llama/verify.py,sha256=XoF_-kxdryjt0Bt_YeHnIbLfjwFxSVioTSEG75moDr8,1581
|
89
|
-
ai_edge_torch/generative/examples/llama/verify_util.py,sha256=
|
89
|
+
ai_edge_torch/generative/examples/llama/verify_util.py,sha256=YVwoiQNwnwc_yx2ra3KYMCmqY-PiWm1kYZQjcw2BXws,3076
|
90
90
|
ai_edge_torch/generative/examples/moonshine/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
|
91
91
|
ai_edge_torch/generative/examples/moonshine/convert_moonshine_to_tflite.py,sha256=_GkaSkregS3NWN38UGXxj4pED5gtQGaaPZx5_CZ0TVM,1657
|
92
92
|
ai_edge_torch/generative/examples/moonshine/moonshine.py,sha256=nZ2b8u4TmsB5sgdClgAuH8E78bcTv9RCnF9666HqP2M,3394
|
@@ -94,16 +94,16 @@ ai_edge_torch/generative/examples/openelm/__init__.py,sha256=hHLluseD2R0Hh4W6XZR
|
|
94
94
|
ai_edge_torch/generative/examples/openelm/convert_to_tflite.py,sha256=C5KEMMle8v6yZWrJPYoN-1CAjeZv7GQEJvyL28DeEYs,1813
|
95
95
|
ai_edge_torch/generative/examples/openelm/openelm.py,sha256=Zfoe0VzNHiCK3CIlp0UYzxxJuE9yZXrSCb84S24LMM0,4448
|
96
96
|
ai_edge_torch/generative/examples/openelm/verify.py,sha256=kRoNEUEsrz51PFSeTPcrYsPBQRLtUmYM3t_-Jl0oFqM,1300
|
97
|
-
ai_edge_torch/generative/examples/openelm/verify_util.py,sha256=
|
97
|
+
ai_edge_torch/generative/examples/openelm/verify_util.py,sha256=3Tay96oEiV3Gtz-K2Gu2-tov2Y4mMpztPhwXfs4c5EA,2970
|
98
98
|
ai_edge_torch/generative/examples/paligemma/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
|
99
99
|
ai_edge_torch/generative/examples/paligemma/convert_to_tflite.py,sha256=qwxnytRMcAYlSe2Ll3TvhB05YozEVnkARQhlaaQ2UHI,2278
|
100
100
|
ai_edge_torch/generative/examples/paligemma/decoder.py,sha256=XRilFiLrRoWboKM6ptowtRGscek7TqSOM9YyWNhpldA,5298
|
101
101
|
ai_edge_torch/generative/examples/paligemma/decoder2.py,sha256=Y3CLRFs3W9JSNFYCMO-CYd7iyA57b2cUnitGhB0RAbo,5847
|
102
102
|
ai_edge_torch/generative/examples/paligemma/image_encoder.py,sha256=V0RrkocOe-y2EDvcg8DMcSpWzzHUruQAEofHn20Jw7M,5589
|
103
103
|
ai_edge_torch/generative/examples/paligemma/paligemma.py,sha256=83MHNqbdza4j1CWWusVC6upKxJonzFfpBTqW0S6iBtg,6323
|
104
|
-
ai_edge_torch/generative/examples/paligemma/verify.py,sha256=
|
105
|
-
ai_edge_torch/generative/examples/paligemma/verify_decoder.py,sha256=
|
106
|
-
ai_edge_torch/generative/examples/paligemma/verify_decoder2.py,sha256=
|
104
|
+
ai_edge_torch/generative/examples/paligemma/verify.py,sha256=Se2T5mBQAs2hSlWfyZGkERqYbAdmwcFQg8BPnHxtT10,6296
|
105
|
+
ai_edge_torch/generative/examples/paligemma/verify_decoder.py,sha256=Z-Xx2mpygBcTcoPs1sY8Fd2eO95D-9RldmDGHK0vCx0,2751
|
106
|
+
ai_edge_torch/generative/examples/paligemma/verify_decoder2.py,sha256=ryn3OpMFeVwUXoywl73XyypivjghSBojdLDLzvF3XI4,2595
|
107
107
|
ai_edge_torch/generative/examples/paligemma/verify_image_encoder.py,sha256=vNm-wTT8BD6zbX6GocfP1QrVoHl0zSvuVxoXN36eeiU,3540
|
108
108
|
ai_edge_torch/generative/examples/phi/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
|
109
109
|
ai_edge_torch/generative/examples/phi/convert_phi3_to_tflite.py,sha256=th7EYY2NmT4qLMtQsEIU697sGhwZi24V8OwB6xZRHEw,1802
|
@@ -115,7 +115,7 @@ ai_edge_torch/generative/examples/phi/phi4.py,sha256=n-LLniR-Q3Nyz4JCTvKZe9hBHVW
|
|
115
115
|
ai_edge_torch/generative/examples/phi/verify.py,sha256=fIWgqypLQ3uOQ1u5uuklYiQSJPhKCTYIBACjrp7DbMA,1346
|
116
116
|
ai_edge_torch/generative/examples/phi/verify_phi3.py,sha256=TwIu2xUPQyMUTFdz29E2y75wfq4c1fGJnT3QfA3eS1s,1347
|
117
117
|
ai_edge_torch/generative/examples/phi/verify_phi4.py,sha256=2MlgQrfRkhE7Dya8MIixGwpqEZYdPjQkUGB47Mt1hSI,1343
|
118
|
-
ai_edge_torch/generative/examples/phi/verify_util.py,sha256=
|
118
|
+
ai_edge_torch/generative/examples/phi/verify_util.py,sha256=te2ws_4ZsuMr_d3CkN-vCIAnWGq7g0eDJ0RLna3E2gw,3037
|
119
119
|
ai_edge_torch/generative/examples/qwen/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
|
120
120
|
ai_edge_torch/generative/examples/qwen/convert_to_tflite.py,sha256=XQee8T78I4CqFghZw6sSsrtryWcA_NlOzg2wMfHzHwY,2064
|
121
121
|
ai_edge_torch/generative/examples/qwen/convert_v3_to_tflite.py,sha256=P10_5tnuvjXNYyWTp0Fzzj-8moFWyONDBhcGi2yvdp4,2070
|
@@ -123,21 +123,21 @@ ai_edge_torch/generative/examples/qwen/qwen.py,sha256=VrrTS83q1Fzp34SjUf0pFiCoMw
|
|
123
123
|
ai_edge_torch/generative/examples/qwen/qwen3.py,sha256=cJcN5nH-yAglKtm5Yc5NsLMQvkJ4Drz_IsQJzS91Veo,5329
|
124
124
|
ai_edge_torch/generative/examples/qwen/verify_qwen2.py,sha256=ry-c2QesH-0KnrSQygfjUFs6d4kOFvJz2ts_8mP156I,1659
|
125
125
|
ai_edge_torch/generative/examples/qwen/verify_qwen3.py,sha256=hmE0gdyzgcDpEDcWiwOzKQcxt4XeAe9DPRspy_I-lc8,1628
|
126
|
-
ai_edge_torch/generative/examples/qwen/verify_util.py,sha256=
|
126
|
+
ai_edge_torch/generative/examples/qwen/verify_util.py,sha256=dGHWzaGkuw_LLNe87GJBNGNROUbRLPCE9-U_juZpUAw,3334
|
127
127
|
ai_edge_torch/generative/examples/qwen_vl/__init__.py,sha256=JaAnrFoXTl3RJX97XspklkTyqOHVyAgRJsZtzNDd10c,671
|
128
128
|
ai_edge_torch/generative/examples/qwen_vl/convert_to_tflite.py,sha256=aC7ONr9hoQMGtbvfq_JBqGhSD6UYHT6fmMYdKp6dkh8,2477
|
129
129
|
ai_edge_torch/generative/examples/qwen_vl/decoder.py,sha256=xmRDK3fmyNnY5GlHStIymYJZDUNFyjH8OjPoPxNlAKk,4307
|
130
130
|
ai_edge_torch/generative/examples/qwen_vl/image_encoder.py,sha256=nuAHb-RXqTffpwjwCHOd_2mCrSMwL6Q1z_yjsU64gmI,14992
|
131
131
|
ai_edge_torch/generative/examples/qwen_vl/qwen_vl.py,sha256=ILxGsI1u4yYlrWTK63yEdsxomdssVrSv7XLxWIU9mqQ,7870
|
132
|
-
ai_edge_torch/generative/examples/qwen_vl/verify.py,sha256=
|
133
|
-
ai_edge_torch/generative/examples/qwen_vl/verify_decoder.py,sha256=
|
132
|
+
ai_edge_torch/generative/examples/qwen_vl/verify.py,sha256=m-SdwHlxjOHsw740_i3T6SlQTzMjQrruauw18ZdWpmI,5917
|
133
|
+
ai_edge_torch/generative/examples/qwen_vl/verify_decoder.py,sha256=ZuVRPLnxpaJWAvZLvJa-u1hZIkqc1D6Ew8FxdXtLlyM,2663
|
134
134
|
ai_edge_torch/generative/examples/qwen_vl/verify_image_encoder.py,sha256=PZ392nDoJG2OmHZ_7Jet3Zu1JkN6QErxKcDc7a-PPds,3126
|
135
135
|
ai_edge_torch/generative/examples/smollm/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
|
136
136
|
ai_edge_torch/generative/examples/smollm/convert_to_tflite.py,sha256=CsXboOmzk2GB506a-Je-Js-XFlUmikVX7dhBFQAmiUs,2040
|
137
137
|
ai_edge_torch/generative/examples/smollm/convert_v2_to_tflite.py,sha256=2BFScI1RbpK3YqJcsvacGz9haKR_gwGsSNHfYmlOvNg,2045
|
138
138
|
ai_edge_torch/generative/examples/smollm/smollm.py,sha256=3QbVefwSlFjhze7ju3P6xgMex2d1AJpF6Ii_qlbfJ34,3656
|
139
139
|
ai_edge_torch/generative/examples/smollm/verify.py,sha256=tXiAnwOnqgwyoa8dI4tCBiGUXkOMfdE9MUkkY_Bc4Ig,1603
|
140
|
-
ai_edge_torch/generative/examples/smollm/verify_util.py,sha256=
|
140
|
+
ai_edge_torch/generative/examples/smollm/verify_util.py,sha256=tHwmo8E474gLKAu4IrG7t2hmy-3Go_BJI1mgu0KkWOY,3076
|
141
141
|
ai_edge_torch/generative/examples/stable_diffusion/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
|
142
142
|
ai_edge_torch/generative/examples/stable_diffusion/attention.py,sha256=kDWG6MlIGa89zC5KSRcJlw2c4ITuw8KcchtfmF55f4g,3545
|
143
143
|
ai_edge_torch/generative/examples/stable_diffusion/clip.py,sha256=lSCRZsoLjH_kqasRMwCy5IogkhyJdwcHKsPEfyxsXCQ,6112
|
@@ -165,7 +165,7 @@ ai_edge_torch/generative/examples/tiny_llama/__init__.py,sha256=hHLluseD2R0Hh4W6
|
|
165
165
|
ai_edge_torch/generative/examples/tiny_llama/convert_to_tflite.py,sha256=dYqb9OhpZUBIdww1lUdMjFhEo3IYhpvitvrZfO0uGSs,1827
|
166
166
|
ai_edge_torch/generative/examples/tiny_llama/tiny_llama.py,sha256=fRuPLHwZu8Am8h0Y3dT5_1vsCEnm6euGWB_KHc3xBXk,2735
|
167
167
|
ai_edge_torch/generative/examples/tiny_llama/verify.py,sha256=qzUsW8tJlAD9mqRxDSAcz5xSUKNlBz_DykA3PwUHMwc,1336
|
168
|
-
ai_edge_torch/generative/examples/tiny_llama/verify_util.py,sha256=
|
168
|
+
ai_edge_torch/generative/examples/tiny_llama/verify_util.py,sha256=z6vPBXDWAL6gN45z-Wm1B2bnZuJf3ErruSuFaEPPEGY,2994
|
169
169
|
ai_edge_torch/generative/fx_passes/__init__.py,sha256=PFSMsA1vfBfrV9ssBCkYJNl8Hx_bLdWjN01iyjPM5jE,1094
|
170
170
|
ai_edge_torch/generative/fx_passes/remove_sdpa_zero_mask_pass.py,sha256=myGjal5A8yIBoqgArd2k40rZmCgD1Ya369KR7182bhI,2129
|
171
171
|
ai_edge_torch/generative/layers/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
|
@@ -218,7 +218,7 @@ ai_edge_torch/generative/utilities/t5_loader.py,sha256=tEsfy8-ymzbbjOIc-oesXF3yG
|
|
218
218
|
ai_edge_torch/generative/utilities/test_utils.py,sha256=fhUMCMxoeMzxYbOCjNeX5wbQmF6Y88Hi52FtRiZYJAk,1147
|
219
219
|
ai_edge_torch/generative/utilities/transformers_verifier.py,sha256=l54bmmhj613eB2oCoONIAKEHhf8TQOhC9Gwjp6lxHAE,1659
|
220
220
|
ai_edge_torch/generative/utilities/types.py,sha256=gZI9hIPB3XAo4oecKIIoVDfiyibLaSNFhecPFx4VDTM,2913
|
221
|
-
ai_edge_torch/generative/utilities/verifier.py,sha256=
|
221
|
+
ai_edge_torch/generative/utilities/verifier.py,sha256=lSzVBFkfnVcFr3rHYQqf1OxfxgQrevkF6jGdqmZTJHA,13702
|
222
222
|
ai_edge_torch/hlfb/__init__.py,sha256=sH4um75na-O8tzxN6chFyp6Y4xnexsE7kUQpZySv6dE,735
|
223
223
|
ai_edge_torch/hlfb/mark_pattern/__init__.py,sha256=JsVmYrM_JEuN_smMHXUsRlo3Liapp7UyktbPpPARwDk,5386
|
224
224
|
ai_edge_torch/hlfb/mark_pattern/fx_utils.py,sha256=YCtMgu-4w2BQ5fpnlpWC6IauKPf_tVqc7Ff91OTqlSw,1796
|
@@ -248,7 +248,7 @@ ai_edge_torch/odml_torch/jax_bridge/__init__.py,sha256=e9Oa4J3An9FYr3zM0OzjzyNNi
|
|
248
248
|
ai_edge_torch/odml_torch/jax_bridge/_wrap.py,sha256=LqwZ1vCJTSOzgzvH8LUAN-sAkF-l_pGj1AMEIzAqHCA,6638
|
249
249
|
ai_edge_torch/odml_torch/jax_bridge/utils.py,sha256=T8isGc896VrHZ6c_L5pYmLpolQ7ibcOlgWfPuVFPzIg,2264
|
250
250
|
ai_edge_torch/odml_torch/lowerings/__init__.py,sha256=uJ-niilt1c-D6QJzLwgvCUf62le_JsxQTlqj_iP_Ps0,1009
|
251
|
-
ai_edge_torch/odml_torch/lowerings/_basic.py,sha256=
|
251
|
+
ai_edge_torch/odml_torch/lowerings/_basic.py,sha256=VWb5HEeVljnuXi1eecKp1ieOIcBrSLlu7YIZnxnrozU,12198
|
252
252
|
ai_edge_torch/odml_torch/lowerings/_batch_norm.py,sha256=PaLI0BB6pdBW1VyfW8VTOT_Be-ZcqYdNOsyfzKfq8Cg,2064
|
253
253
|
ai_edge_torch/odml_torch/lowerings/_convolution.py,sha256=Q0aDzyUcZMoSzSbOU-r3LJMgPe6fble0QwdYVIOHHHk,6887
|
254
254
|
ai_edge_torch/odml_torch/lowerings/_decomp_registry.py,sha256=ybOdoFE5HIJTkyiYcc73zpyUyUpioVnAca6k0wyJPs4,2572
|
@@ -268,8 +268,8 @@ ai_edge_torch/testing/__init__.py,sha256=_yGgvnBZWb7T3IN3mc4x1sS4vM96HZwM8pwIcPG
|
|
268
268
|
ai_edge_torch/testing/export.py,sha256=k5mGDGzwc23Z4zaIVDs8CNh-oOt64gsf9MS9NjhbPy4,3293
|
269
269
|
ai_edge_torch/testing/model_coverage/__init__.py,sha256=5P8J6Zk5YYtDvTBucFvB9NGSRI7Gw_24WnrbhXgycEE,765
|
270
270
|
ai_edge_torch/testing/model_coverage/model_coverage.py,sha256=UPB448aMDUyC0HNYVqio2rcJPnDN0tBQMP08J6vPYew,4718
|
271
|
-
ai_edge_torch_nightly-0.6.0.
|
272
|
-
ai_edge_torch_nightly-0.6.0.
|
273
|
-
ai_edge_torch_nightly-0.6.0.
|
274
|
-
ai_edge_torch_nightly-0.6.0.
|
275
|
-
ai_edge_torch_nightly-0.6.0.
|
271
|
+
ai_edge_torch_nightly-0.6.0.dev20250612.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
272
|
+
ai_edge_torch_nightly-0.6.0.dev20250612.dist-info/METADATA,sha256=PMopQVfn8nbh8hkC9zHYzl0bF82XoNsGfOfff4K7hBk,2074
|
273
|
+
ai_edge_torch_nightly-0.6.0.dev20250612.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
274
|
+
ai_edge_torch_nightly-0.6.0.dev20250612.dist-info/top_level.txt,sha256=5KXRaF2hwkApYxf7Y8y_tVb9aulGTlbOoNdbx1aKRkE,14
|
275
|
+
ai_edge_torch_nightly-0.6.0.dev20250612.dist-info/RECORD,,
|
File without changes
|
File without changes
|