ai-edge-torch-nightly 0.2.0.dev20240805__py3-none-any.whl → 0.2.0.dev20240807__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.

Potentially problematic release.


This version of ai-edge-torch-nightly might be problematic. Click here for more details.

Files changed (103) hide show
  1. ai_edge_torch/__init__.py +5 -5
  2. ai_edge_torch/{convert → _convert}/conversion.py +40 -50
  3. ai_edge_torch/_convert/conversion_utils.py +64 -0
  4. ai_edge_torch/{convert → _convert}/converter.py +83 -43
  5. ai_edge_torch/{convert → _convert}/fx_passes/__init__.py +9 -9
  6. ai_edge_torch/{convert → _convert}/fx_passes/build_aten_composite_pass.py +51 -26
  7. ai_edge_torch/{convert → _convert}/fx_passes/build_interpolate_composite_pass.py +11 -8
  8. ai_edge_torch/{convert → _convert}/fx_passes/canonicalize_pass.py +3 -4
  9. ai_edge_torch/{convert → _convert}/fx_passes/inject_mlir_debuginfo_pass.py +2 -2
  10. ai_edge_torch/_convert/fx_passes/optimize_layout_transposes_pass/__init__.py +16 -0
  11. ai_edge_torch/{convert → _convert}/fx_passes/optimize_layout_transposes_pass/layout_check.py +7 -5
  12. ai_edge_torch/{convert → _convert}/fx_passes/optimize_layout_transposes_pass/layout_mark.py +2 -0
  13. ai_edge_torch/{convert → _convert}/fx_passes/optimize_layout_transposes_pass/layout_partitioners/__init__.py +1 -0
  14. ai_edge_torch/{convert → _convert}/fx_passes/optimize_layout_transposes_pass/layout_partitioners/greedy.py +14 -6
  15. ai_edge_torch/{convert → _convert}/fx_passes/optimize_layout_transposes_pass/layout_partitioners/min_cut.py +5 -6
  16. ai_edge_torch/{convert → _convert}/fx_passes/optimize_layout_transposes_pass/layout_rewrite.py +17 -14
  17. ai_edge_torch/{convert → _convert}/fx_passes/optimize_layout_transposes_pass/op_func_registry.py +3 -2
  18. ai_edge_torch/{convert → _convert}/fx_passes/optimize_layout_transposes_pass/pass_body.py +15 -17
  19. ai_edge_torch/{convert → _convert}/fx_passes/optimize_layout_transposes_pass/utils.py +2 -0
  20. ai_edge_torch/_convert/signature.py +100 -0
  21. ai_edge_torch/{convert → _convert}/test/test_convert.py +50 -52
  22. ai_edge_torch/{convert → _convert}/test/test_convert_composites.py +16 -12
  23. ai_edge_torch/{convert → _convert}/test/test_convert_multisig.py +6 -4
  24. ai_edge_torch/{convert → _convert}/test/test_to_channel_last_io.py +5 -4
  25. ai_edge_torch/{convert → _convert}/to_channel_last_io.py +4 -1
  26. ai_edge_torch/config.py +24 -0
  27. ai_edge_torch/conftest.py +20 -0
  28. ai_edge_torch/debug/culprit.py +22 -22
  29. ai_edge_torch/debug/test/test_culprit.py +4 -3
  30. ai_edge_torch/debug/test/test_search_model.py +5 -5
  31. ai_edge_torch/debug/utils.py +11 -2
  32. ai_edge_torch/generative/examples/experimental/gemma/convert_to_tflite.py +3 -3
  33. ai_edge_torch/generative/examples/experimental/gemma/gemma.py +4 -1
  34. ai_edge_torch/generative/examples/experimental/phi/convert_to_tflite.py +5 -5
  35. ai_edge_torch/generative/examples/experimental/phi/phi2.py +4 -1
  36. ai_edge_torch/generative/examples/experimental/tiny_llama/convert_to_tflite.py +4 -5
  37. ai_edge_torch/generative/examples/experimental/tiny_llama/tiny_llama.py +4 -1
  38. ai_edge_torch/generative/examples/gemma/convert_to_tflite.py +5 -5
  39. ai_edge_torch/generative/examples/gemma/gemma.py +4 -1
  40. ai_edge_torch/generative/examples/phi2/convert_to_tflite.py +5 -5
  41. ai_edge_torch/generative/examples/phi2/phi2.py +4 -1
  42. ai_edge_torch/generative/examples/stable_diffusion/clip.py +2 -0
  43. ai_edge_torch/generative/examples/stable_diffusion/decoder.py +3 -2
  44. ai_edge_torch/generative/examples/stable_diffusion/diffusion.py +57 -20
  45. ai_edge_torch/generative/examples/stable_diffusion/pipeline.py +20 -9
  46. ai_edge_torch/generative/examples/stable_diffusion/samplers/sampler.py +1 -0
  47. ai_edge_torch/generative/examples/t5/t5.py +2 -2
  48. ai_edge_torch/generative/examples/t5/t5_attention.py +15 -13
  49. ai_edge_torch/generative/examples/test_models/toy_model.py +4 -1
  50. ai_edge_torch/generative/examples/test_models/toy_model_with_external_kv_cache.py +6 -5
  51. ai_edge_torch/generative/examples/test_models/toy_model_with_kv_cache.py +7 -7
  52. ai_edge_torch/generative/examples/tiny_llama/__init__.py +14 -0
  53. ai_edge_torch/generative/examples/tiny_llama/convert_to_tflite.py +5 -5
  54. ai_edge_torch/generative/examples/tiny_llama/tiny_llama.py +4 -1
  55. ai_edge_torch/generative/fx_passes/__init__.py +2 -2
  56. ai_edge_torch/generative/fx_passes/remove_sdpa_zero_mask_pass.py +4 -3
  57. ai_edge_torch/generative/layers/attention.py +35 -26
  58. ai_edge_torch/generative/layers/attention_utils.py +23 -12
  59. ai_edge_torch/generative/layers/builder.py +0 -1
  60. ai_edge_torch/generative/layers/feed_forward.py +6 -10
  61. ai_edge_torch/generative/layers/kv_cache.py +0 -1
  62. ai_edge_torch/generative/layers/model_config.py +2 -5
  63. ai_edge_torch/generative/layers/normalization.py +5 -7
  64. ai_edge_torch/generative/layers/rotary_position_embedding.py +3 -3
  65. ai_edge_torch/generative/layers/unet/blocks_2d.py +33 -26
  66. ai_edge_torch/generative/layers/unet/model_config.py +14 -15
  67. ai_edge_torch/generative/quantize/ai_edge_quantizer_glue/__init__.py +14 -0
  68. ai_edge_torch/generative/quantize/ai_edge_quantizer_glue/translate_recipe.py +0 -2
  69. ai_edge_torch/generative/quantize/quant_recipe.py +8 -6
  70. ai_edge_torch/generative/quantize/quant_recipe_utils.py +2 -1
  71. ai_edge_torch/generative/test/test_experimental_ekv.py +6 -7
  72. ai_edge_torch/generative/test/{loader_test.py → test_loader.py} +4 -3
  73. ai_edge_torch/generative/test/test_model_conversion.py +24 -25
  74. ai_edge_torch/generative/test/test_quantize.py +10 -5
  75. ai_edge_torch/generative/utilities/loader.py +12 -12
  76. ai_edge_torch/generative/utilities/stable_diffusion_loader.py +69 -24
  77. ai_edge_torch/generative/utilities/t5_loader.py +12 -13
  78. ai_edge_torch/hlfb/__init__.py +1 -1
  79. ai_edge_torch/hlfb/mark_pattern/__init__.py +9 -6
  80. ai_edge_torch/hlfb/mark_pattern/passes.py +23 -3
  81. ai_edge_torch/hlfb/mark_pattern/pattern.py +23 -23
  82. ai_edge_torch/hlfb/test/test_mark_pattern.py +13 -12
  83. ai_edge_torch/hlfb/test/test_stablehlo_composite_builder.py +8 -6
  84. ai_edge_torch/{convert/fx_passes/optimize_layout_transposes_pass → lowertools}/__init__.py +1 -1
  85. ai_edge_torch/lowertools/_shim.py +80 -0
  86. ai_edge_torch/lowertools/common_utils.py +89 -0
  87. ai_edge_torch/lowertools/odml_torch_utils.py +201 -0
  88. ai_edge_torch/{convert/conversion_utils.py → lowertools/torch_xla_utils.py} +35 -214
  89. ai_edge_torch/model.py +14 -9
  90. ai_edge_torch/quantize/pt2e_quantizer.py +22 -9
  91. ai_edge_torch/quantize/pt2e_quantizer_utils.py +13 -12
  92. ai_edge_torch/quantize/quant_config.py +7 -7
  93. ai_edge_torch/testing/model_coverage/model_coverage.py +19 -10
  94. ai_edge_torch/version.py +1 -1
  95. {ai_edge_torch_nightly-0.2.0.dev20240805.dist-info → ai_edge_torch_nightly-0.2.0.dev20240807.dist-info}/METADATA +1 -1
  96. ai_edge_torch_nightly-0.2.0.dev20240807.dist-info/RECORD +141 -0
  97. ai_edge_torch_nightly-0.2.0.dev20240805.dist-info/RECORD +0 -133
  98. /ai_edge_torch/{convert → _convert}/__init__.py +0 -0
  99. /ai_edge_torch/{convert → _convert}/fx_passes/_pass_base.py +0 -0
  100. /ai_edge_torch/{convert → _convert}/test/__init__.py +0 -0
  101. {ai_edge_torch_nightly-0.2.0.dev20240805.dist-info → ai_edge_torch_nightly-0.2.0.dev20240807.dist-info}/LICENSE +0 -0
  102. {ai_edge_torch_nightly-0.2.0.dev20240805.dist-info → ai_edge_torch_nightly-0.2.0.dev20240807.dist-info}/WHEEL +0 -0
  103. {ai_edge_torch_nightly-0.2.0.dev20240805.dist-info → ai_edge_torch_nightly-0.2.0.dev20240807.dist-info}/top_level.txt +0 -0
@@ -188,15 +188,18 @@ def _get_supported_config_and_operators() -> List[OperatorConfig]:
188
188
 
189
189
  def _get_module_name_filter(module_name: str):
190
190
  """Get the module_name_filter function for a given module name, the filter accepts
191
+
191
192
  a node and checks if the node comes from a module that has certain module name
192
193
 
193
194
  For example:
194
- node: linear_op = call_function[...](...) # comes from a module with name blocks.sub.linear1
195
+ node: linear_op = call_function[...](...) # comes from a module with name
196
+ blocks.sub.linear1
195
197
 
196
198
 
197
199
  >> module_name_filter = _get_module_name_filter("blocks.sub")
198
200
  >> print(module_name_filter(node))
199
- True # the node is from "blocks.sub" based on the fully qualified name "blocks.sub.linear1"
201
+ True # the node is from "blocks.sub" based on the fully qualified name
202
+ "blocks.sub.linear1"
200
203
  """
201
204
 
202
205
  def module_name_filter(n: Node) -> bool:
@@ -216,15 +219,19 @@ def _get_module_name_filter(module_name: str):
216
219
 
217
220
  def _get_module_type_filter(tp: Callable):
218
221
  """Get the module_type_filter function for a given module type, the filter accepts
222
+
219
223
  a node and checks if the node comes from a module that has certain module type
220
224
 
221
225
  For example:
222
- node: linear_op = call_function[...](...) # comes from a module with type Block -> Sub -> Linear
226
+ node: linear_op = call_function[...](...) # comes from a module with type
227
+ Block -> Sub -> Linear
223
228
 
224
229
 
225
- >> module_type_filter = _get_module_type_filter(Sub) # submodule with type `Sub`, under the `Block` submodule
230
+ >> module_type_filter = _get_module_type_filter(Sub) # submodule with type
231
+ `Sub`, under the `Block` submodule
226
232
  >> print(module_type_filter(node))
227
- True # the node is from the submodule `Sub` (same for `Block` and `Linear` as well)
233
+ True # the node is from the submodule `Sub` (same for `Block` and `Linear` as
234
+ well)
228
235
  """
229
236
 
230
237
  def module_type_filter(n: Node) -> bool:
@@ -338,8 +345,11 @@ class PT2EQuantizer(Quantizer):
338
345
  self, module_type: Callable, quantization_config: QuantizationConfig
339
346
  ):
340
347
  """Set quantization_config for a submodule with type: `module_type`, for example:
341
- quantizer.set_module_name(Sub) or quantizer.set_module_name(nn.Linear), it will quantize all supported operator/operator
342
- patterns in the submodule with this module type with the given `quantization_config`
348
+
349
+ quantizer.set_module_name(Sub) or quantizer.set_module_name(nn.Linear), it
350
+ will quantize all supported operator/operator
351
+ patterns in the submodule with this module type with the given
352
+ `quantization_config`
343
353
  """
344
354
  self.module_type_config[module_type] = quantization_config
345
355
  return self
@@ -348,8 +358,11 @@ class PT2EQuantizer(Quantizer):
348
358
  self, module_name: str, quantization_config: Optional[QuantizationConfig]
349
359
  ):
350
360
  """Set quantization_config for a submodule with name: `module_name`, for example:
351
- quantizer.set_module_name("blocks.sub"), it will quantize all supported operator/operator
352
- patterns in the submodule with this module name with the given `quantization_config`
361
+
362
+ quantizer.set_module_name("blocks.sub"), it will quantize all supported
363
+ operator/operator
364
+ patterns in the submodule with this module name with the given
365
+ `quantization_config`
353
366
  """
354
367
  assert (
355
368
  quantization_config is not None
@@ -31,7 +31,7 @@ from torch.ao.quantization.quantizer import SharedQuantizationSpec
31
31
  from torch.ao.quantization.quantizer.utils import _annotate_input_qspec_map
32
32
  from torch.ao.quantization.quantizer.utils import _annotate_output_qspec
33
33
  from torch.fx import Node
34
- from torch.fx.passes.utils.matcher_with_name_node_map_utils import SubgraphMatcherWithNameNodeMap # NOQA
34
+ from torch.fx.passes.utils.matcher_with_name_node_map_utils import SubgraphMatcherWithNameNodeMap
35
35
  from torch.fx.passes.utils.source_matcher_utils import get_source_partitions
36
36
  import torch.nn.functional as F
37
37
 
@@ -95,9 +95,10 @@ class OperatorConfig(NamedTuple):
95
95
 
96
96
 
97
97
  def _is_annotated(nodes: List[Node]):
98
- """
99
- Given a list of nodes (that represents an operator pattern),
100
- check if any of the node is annotated, return True if any of the node
98
+ """Checks if a list of nodes is annotated.
99
+
100
+ Given a list of nodes (that represents an operator pattern), check if any of
101
+ the node is annotated, return True if any of the node
101
102
  is annotated, otherwise return False
102
103
  """
103
104
  annotated = False
@@ -418,9 +419,9 @@ def _annotate_conv_bn(
418
419
  quantization_config: Optional[QuantizationConfig],
419
420
  filter_fn: Optional[Callable[[Node], bool]] = None,
420
421
  ) -> Optional[List[List[Node]]]:
421
- """
422
- Find conv + batchnorm parititions
423
- Note: This is only used for QAT. In PTQ, batchnorm should already be fused into the conv.
422
+ """Find conv + batchnorm parititions Note: This is only used for QAT.
423
+
424
+ In PTQ, batchnorm should already be fused into the conv.
424
425
  """
425
426
  return _do_annotate_conv_bn(
426
427
  gm, quantization_config, filter_fn, has_relu=False
@@ -433,9 +434,9 @@ def _annotate_conv_bn_relu(
433
434
  quantization_config: Optional[QuantizationConfig],
434
435
  filter_fn: Optional[Callable[[Node], bool]] = None,
435
436
  ) -> Optional[List[List[Node]]]:
436
- """
437
- Find conv + batchnorm + relu parititions
438
- Note: This is only used for QAT. In PTQ, batchnorm should already be fused into the conv.
437
+ """Find conv + batchnorm + relu parititions Note: This is only used for QAT.
438
+
439
+ In PTQ, batchnorm should already be fused into the conv.
439
440
  """
440
441
  return _do_annotate_conv_bn(gm, quantization_config, filter_fn, has_relu=True)
441
442
 
@@ -446,8 +447,8 @@ def _do_annotate_conv_bn(
446
447
  filter_fn: Optional[Callable[[Node], bool]],
447
448
  has_relu: bool,
448
449
  ) -> List[List[Node]]:
449
- """
450
- Given a function that takes in a `conv_fn` and returns a conv-bn[-relu] pattern,
450
+ """Given a function that takes in a `conv_fn` and returns a conv-bn[-relu] pattern,
451
+
451
452
  return a list of annotated partitions.
452
453
 
453
454
  The output of the pattern must include a dictionary from string name to node
@@ -13,27 +13,27 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
 
16
- from dataclasses import dataclass
16
+ import dataclasses
17
17
  import enum
18
18
  from typing import Optional
19
19
 
20
- from ai_edge_torch.generative.quantize import quant_attrs
21
20
  from ai_edge_torch.generative.quantize import quant_recipe
22
21
  from ai_edge_torch.quantize import pt2e_quantizer as pt2eq
23
22
 
24
23
 
25
- @dataclass(frozen=True)
24
+ @dataclasses.dataclass(frozen=True)
26
25
  class QuantConfig:
27
- """
26
+ """Encapsulates a quantization configuration.
27
+
28
28
  Encapsulates all different quantization methods and schemes available for
29
29
  models converted with ai_edge_torch.
30
30
 
31
- Args:
31
+ Attributes:
32
32
  pt2e_quantizer: The instance of PT2EQuantizer used to quantize the model
33
33
  with PT2E quantization. This method of quantization is not applicable to
34
34
  models created with the Edge Generative API.
35
- generative_recipe: Quantization recipe to be applied on a model created
36
- with the Edge Generative API.
35
+ generative_recipe: Quantization recipe to be applied on a model created with
36
+ the Edge Generative API.
37
37
  """
38
38
 
39
39
  pt2e_quantizer: pt2eq.PT2EQuantizer = None
@@ -13,11 +13,11 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
 
16
- """Utility Functions to test TFLite models exported from PyTorch"""
16
+ """Contains utility functions to test TFLite models exported from PyTorch."""
17
17
 
18
18
  from collections.abc import Callable
19
19
 
20
- from ai_edge_torch.model import Model
20
+ from ai_edge_torch import model
21
21
  import numpy as np
22
22
  import torch
23
23
  from torch.utils import _pytree as pytree
@@ -26,12 +26,20 @@ from torch.utils import _pytree as pytree
26
26
  # Utility to flatten the order to make it deterministic.
27
27
  # Ordering is done in left-to-right depth-first tree traversal.
28
28
  def _flatten(data):
29
- out, spec = pytree.tree_flatten(data)
29
+ out, _ = pytree.tree_flatten(data)
30
30
  return out
31
31
 
32
32
 
33
33
  # Convert a Torch Tensor to a numpy array
34
34
  def _torch_tensors_to_np(*argv):
35
+ """Converts a Torch Tensor to a numpy array.
36
+
37
+ Args:
38
+ *argv: A list of torch.tensor or a single torch.tensor.
39
+
40
+ Returns:
41
+ A list of numpy array or a single numpy array.
42
+ """
35
43
  if len(argv) > 1:
36
44
  data = list(argv)
37
45
  else:
@@ -57,7 +65,7 @@ def _torch_tensors_to_np(*argv):
57
65
 
58
66
 
59
67
  def compare_tflite_torch(
60
- edge_model: Model,
68
+ edge_model: model.Model,
61
69
  torch_eval_func: Callable,
62
70
  args=None,
63
71
  kwargs=None,
@@ -68,15 +76,17 @@ def compare_tflite_torch(
68
76
  rtol: float = 1e-5
69
77
  ):
70
78
  """Compares torch models and TFLite models.
79
+
71
80
  Args:
72
81
  edge_model: Serialized ai_edge_torch.model.Model object.
73
82
  torch_eval_func: Callable function to evaluate torch model.
74
- args: torch.tensor array or a callable to generate a torch.tensor array
75
- with random data, to pass into models during inference. (default None).
83
+ args: torch.tensor array or a callable to generate a torch.tensor array with
84
+ random data, to pass into models during inference. (default None).
76
85
  kwargs: dict of str to torch.tensor, or a callable to generate such.
77
- num_valid_inputs: Defines the number of times the random inputs will be generated (if a callable is provided for input_data).
78
- signature_name: If provided, specifies the name for the signature of the edge_model to run.
79
- Calls the default signature if not provided.
86
+ num_valid_inputs: Defines the number of times the random inputs will be
87
+ generated (if a callable is provided for input_data).
88
+ signature_name: If provided, specifies the name for the signature of the
89
+ edge_model to run. Calls the default signature if not provided.
80
90
  atol: Absolute tolerance (see `numpy.allclose`)
81
91
  rtol: Relative tolerance (see `numpy.allclose`)
82
92
  """
@@ -118,7 +128,6 @@ def compare_tflite_torch(
118
128
  for idx, np_input in enumerate(np_inputs):
119
129
  output = get_edge_output(np_input)
120
130
  golden_output = np_outputs[idx]
121
-
122
131
  is_output_len_eq = len(golden_output) == len(output)
123
132
 
124
133
  output = [v.astype(np.float32) for v in output]
ai_edge_torch/version.py CHANGED
@@ -13,4 +13,4 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
 
16
- __version__ = "0.2.0.dev20240805"
16
+ __version__ = "0.2.0.dev20240807"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ai-edge-torch-nightly
3
- Version: 0.2.0.dev20240805
3
+ Version: 0.2.0.dev20240807
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
@@ -0,0 +1,141 @@
1
+ ai_edge_torch/__init__.py,sha256=48qP37uHT90YPs4eIUQxCiWVwqGEX3idCUs6mQKvX1U,1168
2
+ ai_edge_torch/config.py,sha256=PCd9PVrbUNeVIUDFUCnW4goDWU4bjouK28yMYU6VOi0,877
3
+ ai_edge_torch/conftest.py,sha256=r0GTrhMRhlmOGrrkvumHN8hkmyug6WvF60vWq8wRIBI,758
4
+ ai_edge_torch/model.py,sha256=5DYNpFVwvI1w0JbAC1hn83NJVGS1WPX7n742419PMqs,4558
5
+ ai_edge_torch/version.py,sha256=Tx0N4pZr7q3ricLCAiKwDd-Bk0tX9ryYtIBsykDh-do,706
6
+ ai_edge_torch/_convert/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
7
+ ai_edge_torch/_convert/conversion.py,sha256=kcv_QgNgeyDmrqwdzHicGNP68w6zF7GJg7YkMEIXp4Q,3759
8
+ ai_edge_torch/_convert/conversion_utils.py,sha256=Sr8qXVcTwc-ZnZmK7yxVrIOOp1S_vNrwzC0zUvLTI2o,2160
9
+ ai_edge_torch/_convert/converter.py,sha256=ezmaATnQi7NWDo37LUb-hEXtZSmT7_AT6vqXC6Fcq1o,8615
10
+ ai_edge_torch/_convert/signature.py,sha256=zSSG4_u38pOw08pHgXssZDK_EanACDx7lcI-PzBgh5A,3313
11
+ ai_edge_torch/_convert/to_channel_last_io.py,sha256=_31phf7TYgZY2ftpNbrdlB1RhDium1lz_BXEQ6IsMFc,2893
12
+ ai_edge_torch/_convert/fx_passes/__init__.py,sha256=hVuNftOcZIpwkUcPab44mhFmi9Z1f1REV5o3j39Sf-w,2818
13
+ ai_edge_torch/_convert/fx_passes/_pass_base.py,sha256=WVYZuocpygHAzk9u1GNoGowAIOHTlJXyA_NklmYkRms,1672
14
+ ai_edge_torch/_convert/fx_passes/build_aten_composite_pass.py,sha256=3aShe8t2VTtgWntmmVBCOwurFeBo0YI6olkprfLFxSY,9126
15
+ ai_edge_torch/_convert/fx_passes/build_interpolate_composite_pass.py,sha256=izep1DsIz2jwVtqB0CBKg4FcTeEzuPfd2G5Qo4gpTk4,4274
16
+ ai_edge_torch/_convert/fx_passes/canonicalize_pass.py,sha256=8jcKqWzG7p5r3Cu7DXNP-4o4X2bqLaoXY7N6W8QsZXo,1582
17
+ ai_edge_torch/_convert/fx_passes/inject_mlir_debuginfo_pass.py,sha256=WKI8V9-V50agkiNVpBFWWp0BEpUfemdENuN1cEaGD-g,2370
18
+ ai_edge_torch/_convert/fx_passes/optimize_layout_transposes_pass/__init__.py,sha256=lxnoH-WGLeiQIF8XjMGodjiZEFTxucl7g05N7MR9OPk,796
19
+ ai_edge_torch/_convert/fx_passes/optimize_layout_transposes_pass/layout_check.py,sha256=DIfrWDZ1ufAN_uH-oW3k66jTciY7DlLDAb6UKMN14zE,7528
20
+ ai_edge_torch/_convert/fx_passes/optimize_layout_transposes_pass/layout_mark.py,sha256=4RyGUwR22bZqkn_TnptenFJodc_Q43f4_SBG7gmTbos,1621
21
+ ai_edge_torch/_convert/fx_passes/optimize_layout_transposes_pass/layout_rewrite.py,sha256=GcxDxj-5KKWTR5xnRKuhRsb6TDHLCXiPXjGnc_97QXs,12604
22
+ ai_edge_torch/_convert/fx_passes/optimize_layout_transposes_pass/op_func_registry.py,sha256=bsYnudRlXp1PJlu4GF25KSogSkBGQPSaecBrUTONKaw,1031
23
+ ai_edge_torch/_convert/fx_passes/optimize_layout_transposes_pass/pass_body.py,sha256=HXTDEP6_Z0I0s58H6I0yHz9qrkOxptIjKhxywfe8F80,10637
24
+ ai_edge_torch/_convert/fx_passes/optimize_layout_transposes_pass/utils.py,sha256=YLMttMg5PdvXTtQ8lxpKb434UGVvYVALV1-xeuH4UGc,2131
25
+ ai_edge_torch/_convert/fx_passes/optimize_layout_transposes_pass/layout_partitioners/__init__.py,sha256=D8VX8SbCzfoyvPgMFHK7yxD7R-bzLxp2gfdKxgrWekA,742
26
+ ai_edge_torch/_convert/fx_passes/optimize_layout_transposes_pass/layout_partitioners/greedy.py,sha256=L_x8BrF7UDah-SYl-pG11I6CIckdU9kBTUHcmwW4cts,2420
27
+ ai_edge_torch/_convert/fx_passes/optimize_layout_transposes_pass/layout_partitioners/min_cut.py,sha256=mzfL9cf0qBnpmxM_OlMQFvQsEZV2B_Mia9yEJV4J7rI,7135
28
+ ai_edge_torch/_convert/test/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
29
+ ai_edge_torch/_convert/test/test_convert.py,sha256=y0ZRivdglGx217rnacze8N6nd7aafk28NkbBFUSa9DQ,13121
30
+ ai_edge_torch/_convert/test/test_convert_composites.py,sha256=CBiOqq-m7QT2ggBI1jBl9MkTIT5d0nK1tA0BUga0LGs,7994
31
+ ai_edge_torch/_convert/test/test_convert_multisig.py,sha256=4jm5blAfzLMjvrJt0ntuG_Fgy4Ie3SoUOGBOy9tf6bg,4725
32
+ ai_edge_torch/_convert/test/test_to_channel_last_io.py,sha256=jLAmyHw5llT2ff8qA8mem3eVN57e_o5EpBnW72ZtP2I,3026
33
+ ai_edge_torch/debug/__init__.py,sha256=N05Mmvi41KgSuK0JhuMejERESgP8QekiGdp9_PEyuKU,742
34
+ ai_edge_torch/debug/culprit.py,sha256=7UYVpVWpiCXbMAyThVtHt_kc_poT7sCTh5UUPvcycgk,14832
35
+ ai_edge_torch/debug/utils.py,sha256=vOAL4t6Lj47uhKapfEsc_WHmvwew3eKO9hSJyzvPXnU,1625
36
+ ai_edge_torch/debug/test/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
37
+ ai_edge_torch/debug/test/test_culprit.py,sha256=GjQv4bpz5EVwgxQt7HmpqTzIo_BpsvRmDVWeOmr29HE,3775
38
+ ai_edge_torch/debug/test/test_search_model.py,sha256=3rUSl7pFBfWjK47YhK5B8J1bXrvNhKKIEuNDNfFShHc,1670
39
+ ai_edge_torch/experimental/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
40
+ ai_edge_torch/generative/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
41
+ ai_edge_torch/generative/examples/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
42
+ ai_edge_torch/generative/examples/experimental/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
43
+ ai_edge_torch/generative/examples/experimental/gemma/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
44
+ ai_edge_torch/generative/examples/experimental/gemma/convert_to_tflite.py,sha256=lpiPFSh3SJd6WwuZ0QegSva3__iSz2tUD7L7QfkAe4I,3085
45
+ ai_edge_torch/generative/examples/experimental/gemma/gemma.py,sha256=QoFbUUCTJrW1IYZg0vfb2-K-X0q1-NJFbWNGPQGwBgk,6688
46
+ ai_edge_torch/generative/examples/experimental/phi/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
47
+ ai_edge_torch/generative/examples/experimental/phi/convert_to_tflite.py,sha256=DavrdGmqUgoThsGNRv3LXMW5tvJdYEvj66Hf1XRqkXU,3055
48
+ ai_edge_torch/generative/examples/experimental/phi/phi2.py,sha256=u-VJX5mjzQKspXtAhNi53LCITtag-3nCaRTKdk5Z1sc,6231
49
+ ai_edge_torch/generative/examples/experimental/tiny_llama/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
50
+ ai_edge_torch/generative/examples/experimental/tiny_llama/convert_to_tflite.py,sha256=xPVvHQjLJHFiRv_-Fy2sDm0Aft7SG8SXiV6o3rF03cQ,3108
51
+ ai_edge_torch/generative/examples/experimental/tiny_llama/tiny_llama.py,sha256=GOLLd9yCBnlNXeW7xrVy1wjOltcTbRdSpiJycbMj8TA,6372
52
+ ai_edge_torch/generative/examples/gemma/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
53
+ ai_edge_torch/generative/examples/gemma/convert_to_tflite.py,sha256=w589IJETATd6Z9_1XCIWbrlCV3E92X_5ac3VVCVFXG0,2522
54
+ ai_edge_torch/generative/examples/gemma/gemma.py,sha256=5Dn9JgJiXN-hWGQj9YqCr8Iik8mh5s0dX0VfyY8KDDo,6236
55
+ ai_edge_torch/generative/examples/phi2/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
56
+ ai_edge_torch/generative/examples/phi2/convert_to_tflite.py,sha256=ON6zLO-nFS8eJ2yhyWzT5x2Somr-Ca-VjpjT7OGFU10,2506
57
+ ai_edge_torch/generative/examples/phi2/phi2.py,sha256=C_kFYsPrEQ9GJCnc6h-jh8B5qQryvEpI6O6t4FBxg1I,5858
58
+ ai_edge_torch/generative/examples/stable_diffusion/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
59
+ ai_edge_torch/generative/examples/stable_diffusion/attention.py,sha256=kDWG6MlIGa89zC5KSRcJlw2c4ITuw8KcchtfmF55f4g,3545
60
+ ai_edge_torch/generative/examples/stable_diffusion/clip.py,sha256=VR09iAnj1e-sr-oam2rh24Wnb_JdZZQvpJIjylfgnS8,4468
61
+ ai_edge_torch/generative/examples/stable_diffusion/convert_to_tflite.py,sha256=7ra36nM5tQwSw-vi6QCFLx5IssZhT-6yVK4H3XsAc4w,5044
62
+ ai_edge_torch/generative/examples/stable_diffusion/decoder.py,sha256=slieF2-QcDCwd4DRZ7snsZIphT97IXpp4plRRsRSwL8,13983
63
+ ai_edge_torch/generative/examples/stable_diffusion/diffusion.py,sha256=7oUIJ6HO0vmlhFdkXpqGm9KTB-eM4Ob9VrHSDlIGFOg,30926
64
+ ai_edge_torch/generative/examples/stable_diffusion/encoder.py,sha256=CAPsW84A8f00nS6fLFeh_XUjCPsDCA5UxHOUsMrLfSU,3450
65
+ ai_edge_torch/generative/examples/stable_diffusion/pipeline.py,sha256=Wc94X_kEnbInTAXFgf-VuCvv1A0HxxWrFZ7Tsq3Z8n0,8662
66
+ ai_edge_torch/generative/examples/stable_diffusion/tokenizer.py,sha256=xychak9hdLd6ieXBYEwrK2BkF8NRZWZSSCijIsESpBA,3420
67
+ ai_edge_torch/generative/examples/stable_diffusion/util.py,sha256=XIXIB0vCvQKOGyIyiZeiIA5DLeSXjkudywvJS4FK7AM,2431
68
+ ai_edge_torch/generative/examples/stable_diffusion/samplers/__init__.py,sha256=uQWKzCD_49ackNFrt50H04dkDXxfAwUCtMWWQre5SVE,830
69
+ ai_edge_torch/generative/examples/stable_diffusion/samplers/k_euler.py,sha256=wBBNM24waZ57M1rXonwesfUkKe9DqpqO3eW6BfZkrD0,2323
70
+ ai_edge_torch/generative/examples/stable_diffusion/samplers/k_euler_ancestral.py,sha256=c89ldwtuQ2_yspGrGa7oh7fsvTt6A86Whxa6fBK9YOQ,2526
71
+ ai_edge_torch/generative/examples/stable_diffusion/samplers/k_lms.py,sha256=ZE6HyOoBJrmTh54KVFf7DjNBnBS0pT4cgviYaq8HGMU,2801
72
+ ai_edge_torch/generative/examples/stable_diffusion/samplers/sampler.py,sha256=RxR5rw0wFFm_5CfAY-3-EIz83vhM9EKye8Bb5zBb0Ok,1341
73
+ ai_edge_torch/generative/examples/t5/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
74
+ ai_edge_torch/generative/examples/t5/convert_to_tflite.py,sha256=CZVuNEL8OHPkdsz70WOvNpTJ9LFkiDnlwgJiXfUZCVk,4548
75
+ ai_edge_torch/generative/examples/t5/t5.py,sha256=6Rkisv7UI2w5KV8ogPPzeIiPWYwDLfFfSIncqD7Eenc,20854
76
+ ai_edge_torch/generative/examples/t5/t5_attention.py,sha256=gp7DV8pv4FwICQhYlUYfYZ7BE5jzDIsD_V3a_4-T4Ds,8492
77
+ ai_edge_torch/generative/examples/test_models/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
78
+ ai_edge_torch/generative/examples/test_models/toy_model.py,sha256=DhxOrIKe-tilBjbh1q4MsmCmmKMc4c1BPUzhnaJDD6M,3955
79
+ ai_edge_torch/generative/examples/test_models/toy_model_with_external_kv_cache.py,sha256=bW0QB-_h9cfwAQf11AxFxOBq3HrEep_UlpBjXz3JSew,5801
80
+ ai_edge_torch/generative/examples/test_models/toy_model_with_kv_cache.py,sha256=CRja_CT0_eaH16rSDxwHKJS_CGUJMW0Fxd4r45Ii8Uo,4833
81
+ ai_edge_torch/generative/examples/tiny_llama/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
82
+ ai_edge_torch/generative/examples/tiny_llama/convert_to_tflite.py,sha256=CLRqO7ycMbpy7J3_Czp1sLx6hcdwGD9zVq04yRba0e8,2550
83
+ ai_edge_torch/generative/examples/tiny_llama/tiny_llama.py,sha256=nu3Il8Vxe7JwM8-AnGNXoGoZ9eVXKHMYEAqVEP-gwe8,5929
84
+ ai_edge_torch/generative/fx_passes/__init__.py,sha256=fmNNXawJ722M4cTUuTx289rT0NHxBEsOy_k8baqCOms,1173
85
+ ai_edge_torch/generative/fx_passes/remove_sdpa_zero_mask_pass.py,sha256=sXis0U4u-RoIp_NyrmWJNnqFqpqRuZOrhfsJIO6rMps,2028
86
+ ai_edge_torch/generative/layers/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
87
+ ai_edge_torch/generative/layers/attention.py,sha256=xq10Gw4GudK4M2eY8-H4fi3qmpmZCfE-CziAXDZvqiQ,12177
88
+ ai_edge_torch/generative/layers/attention_utils.py,sha256=2hzBVZvWCqqLfI-f3RJA1hi6T8cuaIJBPt8cdjQCA5s,6420
89
+ ai_edge_torch/generative/layers/builder.py,sha256=JvPmwrG8_M4-kO2MM6sDZhpS32Wx3wVVhlVO4yPJKJ0,4161
90
+ ai_edge_torch/generative/layers/feed_forward.py,sha256=RukSYr9h_DehcYVZWLS_rfCTY73Uj__pTRUatjxJtv8,2788
91
+ ai_edge_torch/generative/layers/kv_cache.py,sha256=Ob8QeXWW5xt-6hcGA0uoC48eRQ8lfvKca8JbWtFx2CE,3082
92
+ ai_edge_torch/generative/layers/model_config.py,sha256=CTvKFwsBR3Rc-Kf73NA7k0799m1WnEvaEBKCnnfNkyo,4961
93
+ ai_edge_torch/generative/layers/normalization.py,sha256=u8lv0p-ktKcRqCDlOqZQa9WQcfDK9JM2IaUQFQdn7xs,1860
94
+ ai_edge_torch/generative/layers/rotary_position_embedding.py,sha256=CZqOoibLcHvUgrgaIIWAlmk3XgE2inzx340MN-npLoU,1347
95
+ ai_edge_torch/generative/layers/scaled_dot_product_attention.py,sha256=6WMe-A5KSSujQcZ34hIeSnnor3AXrw10cQ5FKy-30IU,3390
96
+ ai_edge_torch/generative/layers/unet/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
97
+ ai_edge_torch/generative/layers/unet/blocks_2d.py,sha256=4a0wh0co8Avz1wvxS3XqsgrgL5G-X1GSARI5Rj3L-xg,26995
98
+ ai_edge_torch/generative/layers/unet/builder.py,sha256=zAqWXdimmMrQRhmE_t9XkS68mh6PSrzwb-2NZZXrR5I,1901
99
+ ai_edge_torch/generative/layers/unet/model_config.py,sha256=NvBJj09a7ZC-ChGE_ex-_kLnE_fjzrY6txbLSh1pMKA,9208
100
+ ai_edge_torch/generative/quantize/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
101
+ ai_edge_torch/generative/quantize/example.py,sha256=mqi3zFUp4w198DGnRkmZCWUZdUXTkvg1_tdTdOk9IkA,1535
102
+ ai_edge_torch/generative/quantize/quant_attrs.py,sha256=n1Fm8BFC8gJa_oiwwAOOghJyHtOXYZ4q-5ZRy4pHrIw,1957
103
+ ai_edge_torch/generative/quantize/quant_recipe.py,sha256=tKnuJq6hPD23JPCB9nPAlE1UHAwdbChkgPShiVaz4CE,5156
104
+ ai_edge_torch/generative/quantize/quant_recipe_utils.py,sha256=4fgmP_GgeiFUOkIaC9ZZXC12eO3DQZdrWDXRz5YXiwU,2270
105
+ ai_edge_torch/generative/quantize/quant_recipes.py,sha256=0Kvr_o7pbMnE8VMe6Ml0FBxkHM6RJ3C14B2I1mjItjc,2030
106
+ ai_edge_torch/generative/quantize/supported_schemes.py,sha256=FjdycEOvxRgBmQdZVufetPvkDoD7rUowIOSKV9oV5Kk,1418
107
+ ai_edge_torch/generative/quantize/ai_edge_quantizer_glue/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
108
+ ai_edge_torch/generative/quantize/ai_edge_quantizer_glue/translate_recipe.py,sha256=sSHc_4hUEvi-3KmqbpqWbrRKBjCI1AOctM3dr2EH3vk,5263
109
+ ai_edge_torch/generative/test/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
110
+ ai_edge_torch/generative/test/test_experimental_ekv.py,sha256=T5-O2RVLJTH7v9w1_uBfp-Y7o3sdGzYq2Tj2wLRNHyI,4357
111
+ ai_edge_torch/generative/test/test_loader.py,sha256=1ZqAq0HY5uIioumsReOVIsbGBx0WkYcl18PvttdJKrk,3381
112
+ ai_edge_torch/generative/test/test_model_conversion.py,sha256=4RTB1oPA2eWPyuof2-ZB1BxVKzKy5Q9vCux7psmV6zc,7615
113
+ ai_edge_torch/generative/test/test_quantize.py,sha256=3SmJm7Kq98gAneU6IGwwJrJYCVH1qwWR6oUxPfb6qiI,5346
114
+ ai_edge_torch/generative/utilities/__init__.py,sha256=-_jxnnFnCgnTU4oTm4MnRsvL5lqhomBNdFBbqfmfHPo,720
115
+ ai_edge_torch/generative/utilities/loader.py,sha256=XfVRvwvZyQuofctxIedLNDKQrsy9UlRr4wpScZJLWcw,11779
116
+ ai_edge_torch/generative/utilities/stable_diffusion_loader.py,sha256=pKp3AMSbS3otCvgwJRF5M1l4JRNKk-aCKimXzIMSrds,35679
117
+ ai_edge_torch/generative/utilities/t5_loader.py,sha256=jz2qnDtH6oyxcqaBwEVfiiKmq_93LTDeUKNJ2cWpLwg,16856
118
+ ai_edge_torch/hlfb/__init__.py,sha256=sH4um75na-O8tzxN6chFyp6Y4xnexsE7kUQpZySv6dE,735
119
+ ai_edge_torch/hlfb/mark_pattern/__init__.py,sha256=cjTprggj_cuktSCm7-A25e7Shop3k63ylp7sdZmtZ8o,4790
120
+ ai_edge_torch/hlfb/mark_pattern/passes.py,sha256=pjkKcI1nHECPluAt87cFBrt1DP0f3ge7rHq1NhCkBIE,1936
121
+ ai_edge_torch/hlfb/mark_pattern/pattern.py,sha256=uiYRfzD1T8deCEAGfdAFusRbI41m14zeTt0Lz5lNT3M,9808
122
+ ai_edge_torch/hlfb/test/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
123
+ ai_edge_torch/hlfb/test/test_mark_pattern.py,sha256=oYB0RPW-tHOwW9gQFH9GtHKO_Mmh1lkoiemXmTfySqc,4383
124
+ ai_edge_torch/hlfb/test/test_stablehlo_composite_builder.py,sha256=3vSX5E9ZFFhTPZZX6TMiAsGa_kaXABbN851bRbTFsC0,8297
125
+ ai_edge_torch/lowertools/__init__.py,sha256=0M9TOR80sS5y6dikOsIFYx0P9IomqAdNIuYpgkP4PcI,693
126
+ ai_edge_torch/lowertools/_shim.py,sha256=ilL7x1ebUBj1clg7bagrX4y_nVSHiGrvDrOVfuTeenE,3039
127
+ ai_edge_torch/lowertools/common_utils.py,sha256=lX3XjhvDlQf_M0VQ0rLBb9xiHljKX53ypMMcHxwMSrs,2904
128
+ ai_edge_torch/lowertools/odml_torch_utils.py,sha256=yH2Q-dDopJNQausnEAuZWwlWjIYu6qWvklsdRaBRvP8,6112
129
+ ai_edge_torch/lowertools/torch_xla_utils.py,sha256=UPhboeMr25jOCXrZoQwtTOfg-ucXoKG0fXkuehGTEYo,8430
130
+ ai_edge_torch/quantize/__init__.py,sha256=aB5dXot04bqyUhpsDFvxt9CIi15QAC4euvqOndJ0XLU,714
131
+ ai_edge_torch/quantize/pt2e_quantizer.py,sha256=CKIEhs9jCcna64qj1jFH9zEbMbRdyeGV_TmSqEBPjes,15741
132
+ ai_edge_torch/quantize/pt2e_quantizer_utils.py,sha256=eARD1LxLi5m7Z0n_psAkeX_AtUp4fNkE--oECBfivv4,36208
133
+ ai_edge_torch/quantize/quant_config.py,sha256=U0KisSW-uZkoMJcy-ZP9W57p3tsa594fr9PphCRdO8o,3172
134
+ ai_edge_torch/testing/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
135
+ ai_edge_torch/testing/model_coverage/__init__.py,sha256=5P8J6Zk5YYtDvTBucFvB9NGSRI7Gw_24WnrbhXgycEE,765
136
+ ai_edge_torch/testing/model_coverage/model_coverage.py,sha256=UPB448aMDUyC0HNYVqio2rcJPnDN0tBQMP08J6vPYew,4718
137
+ ai_edge_torch_nightly-0.2.0.dev20240807.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
138
+ ai_edge_torch_nightly-0.2.0.dev20240807.dist-info/METADATA,sha256=Sy2vubGRyHOPZRSI8E0p_wJwHe_kmXfhoxmwNY0uBtY,1885
139
+ ai_edge_torch_nightly-0.2.0.dev20240807.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
140
+ ai_edge_torch_nightly-0.2.0.dev20240807.dist-info/top_level.txt,sha256=5KXRaF2hwkApYxf7Y8y_tVb9aulGTlbOoNdbx1aKRkE,14
141
+ ai_edge_torch_nightly-0.2.0.dev20240807.dist-info/RECORD,,
@@ -1,133 +0,0 @@
1
- ai_edge_torch/__init__.py,sha256=WTuorXzCALfr89FC4kX_PBtKOQLipN1hcW2tMDSQW9w,1100
2
- ai_edge_torch/model.py,sha256=pSyY9O7J1i-SJu7g4mFD853MJBNFE6LSzBgJw7dtWuI,4494
3
- ai_edge_torch/version.py,sha256=v9FIJo70Ip9rWQjkZBBntgskfWC49tED7nTExP6nEsI,706
4
- ai_edge_torch/convert/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
5
- ai_edge_torch/convert/conversion.py,sha256=bkOyaTTZR9lT1VJMxwCSjcplheYv1HNSwt8A9kEo388,4183
6
- ai_edge_torch/convert/conversion_utils.py,sha256=GAOFepARe_vxOaetplMBBaexxojSijJzXvkxft88-Lc,13945
7
- ai_edge_torch/convert/converter.py,sha256=6BoHl_GEIOkTr1oBg-VzZb5tr6Rv9yDwxKczYd6cu1o,7956
8
- ai_edge_torch/convert/to_channel_last_io.py,sha256=b7Q0_6Lam6IV-3TyhabVTMS7j0ppFpKDOIHTNAw2PnI,2814
9
- ai_edge_torch/convert/fx_passes/__init__.py,sha256=D4Xe8YmeP2N0yEN_bc7pEJH47KkwGFf4COZOILmDL4w,2809
10
- ai_edge_torch/convert/fx_passes/_pass_base.py,sha256=WVYZuocpygHAzk9u1GNoGowAIOHTlJXyA_NklmYkRms,1672
11
- ai_edge_torch/convert/fx_passes/build_aten_composite_pass.py,sha256=QaZ5JV7RazGbC2Khdai795vlO5jDc3yhgx3HHNmzHDs,8246
12
- ai_edge_torch/convert/fx_passes/build_interpolate_composite_pass.py,sha256=BWSU9nkD5DzxHI_WGcs9uH6qKWCw0XB2etDEV6PsZkg,4181
13
- ai_edge_torch/convert/fx_passes/canonicalize_pass.py,sha256=eW0Yae2cL2ALYVkhsuk3wX8v41P6bkGaABtRgdPCdxk,1672
14
- ai_edge_torch/convert/fx_passes/inject_mlir_debuginfo_pass.py,sha256=aRT8hTS3n9ie28lgu6mygtFO6Ypwu0qjNb0c81v9HLs,2448
15
- ai_edge_torch/convert/fx_passes/optimize_layout_transposes_pass/__init__.py,sha256=VA9bekxPVhLk4MYlIRXnOzrSnbCtUmGj7OQ_fJcKQtc,795
16
- ai_edge_torch/convert/fx_passes/optimize_layout_transposes_pass/layout_check.py,sha256=KrMDtpRVgxpS6dxgT_shjYYjL8Ij3L0PNLpn-StSUU0,7546
17
- ai_edge_torch/convert/fx_passes/optimize_layout_transposes_pass/layout_mark.py,sha256=uXCHC23pWN-3JmDtAErWbSUnL8jjlQgUAy4gqtfDsQU,1560
18
- ai_edge_torch/convert/fx_passes/optimize_layout_transposes_pass/layout_rewrite.py,sha256=_FuPbJewiPTqb-aNXR-qiujvsI4J0z6p5JWp8AIg6qE,12496
19
- ai_edge_torch/convert/fx_passes/optimize_layout_transposes_pass/op_func_registry.py,sha256=o9PAcAgvS5uG0xA2io2XEWaELgwPODRRJAkfegob4so,981
20
- ai_edge_torch/convert/fx_passes/optimize_layout_transposes_pass/pass_body.py,sha256=sJqKFDR67svsMh9t0jFav0CzpMZCw29PV3yJ-LCjtoY,10752
21
- ai_edge_torch/convert/fx_passes/optimize_layout_transposes_pass/utils.py,sha256=bItkXVaPA9THcFypAmqldpkLuD8WpOFmKlhVbBJJkPk,2076
22
- ai_edge_torch/convert/fx_passes/optimize_layout_transposes_pass/layout_partitioners/__init__.py,sha256=B-zisphkH7aRCUOJNdwHnTA0fQXuDpN08q3Qjy5bL6E,715
23
- ai_edge_torch/convert/fx_passes/optimize_layout_transposes_pass/layout_partitioners/greedy.py,sha256=FkNNS7tkPm0oanUhjipJxV91-mkcL3YYBj1a8uODmfw,2296
24
- ai_edge_torch/convert/fx_passes/optimize_layout_transposes_pass/layout_partitioners/min_cut.py,sha256=iAYFw6pK9sjXi_uEYRxzezIkHXQosxjNzIhGmpfRFWM,7190
25
- ai_edge_torch/convert/test/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
26
- ai_edge_torch/convert/test/test_convert.py,sha256=k7YPpLKQ-_M89jzf0mftrga_F55B7drfreWkAr9GPWw,12789
27
- ai_edge_torch/convert/test/test_convert_composites.py,sha256=tEBhunjRz6WXPidPTSwMVGfwNYCDBrXbcJ1WOUACL1U,7682
28
- ai_edge_torch/convert/test/test_convert_multisig.py,sha256=XzLgxxqVEVn00JEFUeu6dXJi71pWsX0FwVwXgvZpbZs,4623
29
- ai_edge_torch/convert/test/test_to_channel_last_io.py,sha256=fRR_NkvfUnsleZgNc5fS9Y4apyiRgOX-3tLNE-uSlCA,2929
30
- ai_edge_torch/debug/__init__.py,sha256=N05Mmvi41KgSuK0JhuMejERESgP8QekiGdp9_PEyuKU,742
31
- ai_edge_torch/debug/culprit.py,sha256=PQaeR_csuF6F6rR9JrmltGSCkpGx1PxLyPkUiMzoj7w,14785
32
- ai_edge_torch/debug/utils.py,sha256=gpK1PbiKc6KRMbtpgsBVgTNqd-RZWhqXcFJVDVlvhEI,1437
33
- ai_edge_torch/debug/test/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
34
- ai_edge_torch/debug/test/test_culprit.py,sha256=4dwskvGKHhDqzPQDFJkiifhD3505ljFEEj13h9KqBg4,3736
35
- ai_edge_torch/debug/test/test_search_model.py,sha256=tWmoMJe81ssOc22Id9J2buNNC3j7QeIt7bP8WW0L57M,1603
36
- ai_edge_torch/experimental/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
37
- ai_edge_torch/generative/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
38
- ai_edge_torch/generative/examples/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
39
- ai_edge_torch/generative/examples/experimental/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
40
- ai_edge_torch/generative/examples/experimental/gemma/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
41
- ai_edge_torch/generative/examples/experimental/gemma/convert_to_tflite.py,sha256=Tfy8GhWakUGBjuEG9kOLpffwcrnuWF93UzTshK_yGaM,3085
42
- ai_edge_torch/generative/examples/experimental/gemma/gemma.py,sha256=EJQLQqx5M2v6oNzmf8M2o4dg6I3wZ4ZWngoASW4EXpM,6634
43
- ai_edge_torch/generative/examples/experimental/phi/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
44
- ai_edge_torch/generative/examples/experimental/phi/convert_to_tflite.py,sha256=_0RoLi6ElYGkIVqKpDuIyGiUjhHjbyQaZjcL2iVNYh4,3055
45
- ai_edge_torch/generative/examples/experimental/phi/phi2.py,sha256=jYiekxKoXpGhjnsKTQJC3dTiAY1h9B7hFsOtvNiTShA,6178
46
- ai_edge_torch/generative/examples/experimental/tiny_llama/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
47
- ai_edge_torch/generative/examples/experimental/tiny_llama/convert_to_tflite.py,sha256=sLL9ULX29IveaN5XoFqCm2DW4XBbtBF-CHaJygnKDgU,3125
48
- ai_edge_torch/generative/examples/experimental/tiny_llama/tiny_llama.py,sha256=PEr9olL5oINCwQK8AS1Ba4VdoavOA3eVKDxMAYiOnDk,6319
49
- ai_edge_torch/generative/examples/gemma/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
50
- ai_edge_torch/generative/examples/gemma/convert_to_tflite.py,sha256=leyFwQI35Q_OCYo91j9cbKAam72A127AVVomzEqd6rs,2540
51
- ai_edge_torch/generative/examples/gemma/gemma.py,sha256=BshAPWJ96fo6YHqFiwVQWrRxVLRIJJeSk2vTRbHhzw8,6182
52
- ai_edge_torch/generative/examples/phi2/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
53
- ai_edge_torch/generative/examples/phi2/convert_to_tflite.py,sha256=uXbmtefNnzOF7rTOQ69Gv1Xuod-PyW_ysU60T1l3RVQ,2524
54
- ai_edge_torch/generative/examples/phi2/phi2.py,sha256=tYtpIaxFWh-fyDmKCdYB1I6g-UJp0dmUUObIRO_VxN0,5805
55
- ai_edge_torch/generative/examples/stable_diffusion/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
56
- ai_edge_torch/generative/examples/stable_diffusion/attention.py,sha256=kDWG6MlIGa89zC5KSRcJlw2c4ITuw8KcchtfmF55f4g,3545
57
- ai_edge_torch/generative/examples/stable_diffusion/clip.py,sha256=4L3u6R0KDDN3B4BthU2Lwvc8Tuw5M0ZR_y__Uwo7VN8,4424
58
- ai_edge_torch/generative/examples/stable_diffusion/convert_to_tflite.py,sha256=7ra36nM5tQwSw-vi6QCFLx5IssZhT-6yVK4H3XsAc4w,5044
59
- ai_edge_torch/generative/examples/stable_diffusion/decoder.py,sha256=NUnrzwU-77iJw0mXbWKsgmTYk6iS_GMzGf8Fb3iJ5Xc,13970
60
- ai_edge_torch/generative/examples/stable_diffusion/diffusion.py,sha256=S3nRz_bJdXjxJa29eJMPLAgbehjsAdQSROTBA7AmEGg,29160
61
- ai_edge_torch/generative/examples/stable_diffusion/encoder.py,sha256=CAPsW84A8f00nS6fLFeh_XUjCPsDCA5UxHOUsMrLfSU,3450
62
- ai_edge_torch/generative/examples/stable_diffusion/pipeline.py,sha256=sYMd9OFa_VnMkn5bZ1ZA1CPhmdRHtIIcLw7j3CkOANw,8624
63
- ai_edge_torch/generative/examples/stable_diffusion/tokenizer.py,sha256=xychak9hdLd6ieXBYEwrK2BkF8NRZWZSSCijIsESpBA,3420
64
- ai_edge_torch/generative/examples/stable_diffusion/util.py,sha256=XIXIB0vCvQKOGyIyiZeiIA5DLeSXjkudywvJS4FK7AM,2431
65
- ai_edge_torch/generative/examples/stable_diffusion/samplers/__init__.py,sha256=uQWKzCD_49ackNFrt50H04dkDXxfAwUCtMWWQre5SVE,830
66
- ai_edge_torch/generative/examples/stable_diffusion/samplers/k_euler.py,sha256=wBBNM24waZ57M1rXonwesfUkKe9DqpqO3eW6BfZkrD0,2323
67
- ai_edge_torch/generative/examples/stable_diffusion/samplers/k_euler_ancestral.py,sha256=c89ldwtuQ2_yspGrGa7oh7fsvTt6A86Whxa6fBK9YOQ,2526
68
- ai_edge_torch/generative/examples/stable_diffusion/samplers/k_lms.py,sha256=ZE6HyOoBJrmTh54KVFf7DjNBnBS0pT4cgviYaq8HGMU,2801
69
- ai_edge_torch/generative/examples/stable_diffusion/samplers/sampler.py,sha256=5iRfU5MO6GR6K3WrdddIU_9U7ZZGEEb7zGKVY1WFl-8,1340
70
- ai_edge_torch/generative/examples/t5/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
71
- ai_edge_torch/generative/examples/t5/convert_to_tflite.py,sha256=CZVuNEL8OHPkdsz70WOvNpTJ9LFkiDnlwgJiXfUZCVk,4548
72
- ai_edge_torch/generative/examples/t5/t5.py,sha256=WUKIxq4cBO2SkcZSwrruIghquWij70rhfbr78M8Ivew,20861
73
- ai_edge_torch/generative/examples/t5/t5_attention.py,sha256=FpiAPmeZL4c9BlxOkLoZPzVm3P8JL3zwLqPs68xDqaA,8427
74
- ai_edge_torch/generative/examples/test_models/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
75
- ai_edge_torch/generative/examples/test_models/toy_model.py,sha256=RgqS5OuKiZb_EYS61i6toVRqUdNQTUzMGuiEGs6NbdU,3903
76
- ai_edge_torch/generative/examples/test_models/toy_model_with_external_kv_cache.py,sha256=76whgq2mmHYUpNmZ1b_5fBigrrHHVbgC6kuNGvAB9zU,5795
77
- ai_edge_torch/generative/examples/test_models/toy_model_with_kv_cache.py,sha256=IzK2gSkZAgBjWQwIURUfh7W19E6Ejkw9GrphgoiUkRg,4852
78
- ai_edge_torch/generative/examples/tiny_llama/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
- ai_edge_torch/generative/examples/tiny_llama/convert_to_tflite.py,sha256=rnozSJHU-4UjasyIDM-Q2DvXcdckoHcy4lgb3cpSiS0,2568
80
- ai_edge_torch/generative/examples/tiny_llama/tiny_llama.py,sha256=3UmZonW9x9cg-HjNBrpeDnoWdSRC711cOSwN0sZ1_wA,5876
81
- ai_edge_torch/generative/fx_passes/__init__.py,sha256=C5Xkh1OFSV9Xw68Q3JVQ7BYPjr1o7O6sjnmUhKeb3dg,1171
82
- ai_edge_torch/generative/fx_passes/remove_sdpa_zero_mask_pass.py,sha256=CQhQ7HGtkMHfUUBdOoa1I8fsNxnCf3Uzndvd0QQ7G5M,2005
83
- ai_edge_torch/generative/layers/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
84
- ai_edge_torch/generative/layers/attention.py,sha256=ECSzuP6tlwliSAIK8Qu021L2YxqNlmoS_8er5CsyHWU,12032
85
- ai_edge_torch/generative/layers/attention_utils.py,sha256=hXhuyKblPPxKIRzlAf1YNlwHgpbj-6nReRLhRHELx5k,6350
86
- ai_edge_torch/generative/layers/builder.py,sha256=BKc1JbKuW0AIlPzeoTXOaPBLWTCVERTON8qYPu7RFr0,4162
87
- ai_edge_torch/generative/layers/feed_forward.py,sha256=4j2QaSCw59Jkk_ixKDpKEj7FLRauzuExTiSNRzAjAhE,2820
88
- ai_edge_torch/generative/layers/kv_cache.py,sha256=nVFfWx6HzWrPeF5FRErx5JvgUPJz-qqRvFqChTpxGc8,3099
89
- ai_edge_torch/generative/layers/model_config.py,sha256=8jDECxQUmmUMDFke67NtTy2LDTt8OiA9iMc55b-JGTU,5048
90
- ai_edge_torch/generative/layers/normalization.py,sha256=M27eW3TcNK20oaXClXtfnu0lLWrAGrSKSsbegRWnj3c,1867
91
- ai_edge_torch/generative/layers/rotary_position_embedding.py,sha256=eYOmQC-nVUz6sdTou8xIIaBgQZ6aum09NA2QAI-CRnM,1389
92
- ai_edge_torch/generative/layers/scaled_dot_product_attention.py,sha256=6WMe-A5KSSujQcZ34hIeSnnor3AXrw10cQ5FKy-30IU,3390
93
- ai_edge_torch/generative/layers/unet/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
94
- ai_edge_torch/generative/layers/unet/blocks_2d.py,sha256=evbrY-tBGjnlcKyZ1a44cY5XsTG9oOFXelTIxhhll1o,26911
95
- ai_edge_torch/generative/layers/unet/builder.py,sha256=zAqWXdimmMrQRhmE_t9XkS68mh6PSrzwb-2NZZXrR5I,1901
96
- ai_edge_torch/generative/layers/unet/model_config.py,sha256=GU12QEJwO6ukveMR9JRsrhE0YIPKuhk1U81CylmOQTA,9097
97
- ai_edge_torch/generative/quantize/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
98
- ai_edge_torch/generative/quantize/example.py,sha256=mqi3zFUp4w198DGnRkmZCWUZdUXTkvg1_tdTdOk9IkA,1535
99
- ai_edge_torch/generative/quantize/quant_attrs.py,sha256=n1Fm8BFC8gJa_oiwwAOOghJyHtOXYZ4q-5ZRy4pHrIw,1957
100
- ai_edge_torch/generative/quantize/quant_recipe.py,sha256=TOPmTa92pozBST6hiizhteiWkgla9oVdiF3d5ToCEoc,5152
101
- ai_edge_torch/generative/quantize/quant_recipe_utils.py,sha256=5yCOwHTUA-SgWqP27pvCLPBj1z_AcjXCqyPwQFo15O8,2270
102
- ai_edge_torch/generative/quantize/quant_recipes.py,sha256=0Kvr_o7pbMnE8VMe6Ml0FBxkHM6RJ3C14B2I1mjItjc,2030
103
- ai_edge_torch/generative/quantize/supported_schemes.py,sha256=FjdycEOvxRgBmQdZVufetPvkDoD7rUowIOSKV9oV5Kk,1418
104
- ai_edge_torch/generative/quantize/ai_edge_quantizer_glue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
- ai_edge_torch/generative/quantize/ai_edge_quantizer_glue/translate_recipe.py,sha256=460YflyuWSVxcLSMpdVAaO9n_4NYjqtBLSDWBQjpD5M,5276
106
- ai_edge_torch/generative/test/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
107
- ai_edge_torch/generative/test/loader_test.py,sha256=WfH3IJvKzqum0HcrD16E0yvO6TA9ZUt2rthc82vVtsk,3342
108
- ai_edge_torch/generative/test/test_experimental_ekv.py,sha256=TJWNOS8iM5iQWvBAA33r5AeYnGvm9w_GxTCbfV93flw,4317
109
- ai_edge_torch/generative/test/test_model_conversion.py,sha256=JoyV1CBkykKwA9o9SUq-DDMrpkwdHKNsNW_y073bKOY,7588
110
- ai_edge_torch/generative/test/test_quantize.py,sha256=PttH_FH8U63U4CfMKJPfHd1_BMlTmdjt_Ko0s9FEGF0,5149
111
- ai_edge_torch/generative/utilities/__init__.py,sha256=-_jxnnFnCgnTU4oTm4MnRsvL5lqhomBNdFBbqfmfHPo,720
112
- ai_edge_torch/generative/utilities/loader.py,sha256=r7sh2o35lHbTxXzC1-nj-Q-iO5XJvJBpBcDXminjV6c,11771
113
- ai_edge_torch/generative/utilities/stable_diffusion_loader.py,sha256=orwszJ-K2TFb1MsmqpD31IoZWMQH79NTDj6Ieu-jXig,33979
114
- ai_edge_torch/generative/utilities/t5_loader.py,sha256=WJr8bkYYn6sSO_J6Rb2vzBOh6AYlOdgLp3HTbcds7fs,16838
115
- ai_edge_torch/hlfb/__init__.py,sha256=rrje8a2iuKboBoV96bVq7nlS9HsnuEMbHE5JiWmCxFA,752
116
- ai_edge_torch/hlfb/mark_pattern/__init__.py,sha256=EQfw6kreyvOa964JBX7CIN95jj7LgipWxvSTF6EpieY,4798
117
- ai_edge_torch/hlfb/mark_pattern/passes.py,sha256=YV2YKBkh7y7j7sd7EA81vf_1hUKUvTRiy1pfqZustXc,1539
118
- ai_edge_torch/hlfb/mark_pattern/pattern.py,sha256=SwlCyFKMD2VSOwabNkHaJ1ZWHHyo9bRH-rdgTHBA_oY,9817
119
- ai_edge_torch/hlfb/test/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
120
- ai_edge_torch/hlfb/test/test_mark_pattern.py,sha256=RT3AcDcNCdH9IW7j3UadrZmDcv21A3zZX7O5Zxo8TA4,4275
121
- ai_edge_torch/hlfb/test/test_stablehlo_composite_builder.py,sha256=lCQQmrJl_EG7g2eRHAeol1G2DdcWO9_s24sSz9LrODY,8254
122
- ai_edge_torch/quantize/__init__.py,sha256=aB5dXot04bqyUhpsDFvxt9CIi15QAC4euvqOndJ0XLU,714
123
- ai_edge_torch/quantize/pt2e_quantizer.py,sha256=7Yun-SdfJB4QKmKLR1Py5QFCMDc2mj4Ymy9bxVpE8eI,15703
124
- ai_edge_torch/quantize/pt2e_quantizer_utils.py,sha256=4uCQAy_9HPgv4xSQa9_EQY6xPGjPQsUklZYsKv3SbcM,36182
125
- ai_edge_torch/quantize/quant_config.py,sha256=yP93mRbsB03K1_dYCRIKgxRNEP4EJOYF68Rfb4w8CDg,3184
126
- ai_edge_torch/testing/__init__.py,sha256=hHLluseD2R0Hh4W6XZRIXY_dRQeYudjsrKGf6LZz65g,671
127
- ai_edge_torch/testing/model_coverage/__init__.py,sha256=5P8J6Zk5YYtDvTBucFvB9NGSRI7Gw_24WnrbhXgycEE,765
128
- ai_edge_torch/testing/model_coverage/model_coverage.py,sha256=049yZFfnlVefQJAXkcn84ETzVneaZIlz8e0X1BW3vvI,4520
129
- ai_edge_torch_nightly-0.2.0.dev20240805.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
130
- ai_edge_torch_nightly-0.2.0.dev20240805.dist-info/METADATA,sha256=swe019N7yzZ_OlniDSwL84aOHGBv2YGqBXnRi34JhDg,1885
131
- ai_edge_torch_nightly-0.2.0.dev20240805.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
132
- ai_edge_torch_nightly-0.2.0.dev20240805.dist-info/top_level.txt,sha256=5KXRaF2hwkApYxf7Y8y_tVb9aulGTlbOoNdbx1aKRkE,14
133
- ai_edge_torch_nightly-0.2.0.dev20240805.dist-info/RECORD,,
File without changes
File without changes