From 9c284ecb10127d5fd77efcc99090bfe6fb2b28c6 Mon Sep 17 00:00:00 2001 From: mitrobik Date: Sat, 14 Mar 2026 03:42:39 -0400 Subject: [PATCH 1/5] https://literate-garbanzo-x57jjv6w4r5gc9xwr-53615.app.github.dev/ --- .vscode/settings.json | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000000..7a73a41bfdf --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file From 9b9a2b3f1682f500c4bcf4fc96a1e25743385ff8 Mon Sep 17 00:00:00 2001 From: mitrobik Date: Sat, 14 Mar 2026 04:17:01 -0400 Subject: [PATCH 2/5] =?UTF-8?q?#=20Copyright=20=C2=A9=202024=20Apple=20Inc?= =?UTF-8?q?.=20All=20rights=20reserved.=20#=20#=20Please=20refer=20to=20th?= =?UTF-8?q?e=20license=20found=20in=20the=20LICENSE=20file=20in=20the=20ro?= =?UTF-8?q?ot=20directory=20of=20the=20source=20tree.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit import argparse import sys import tempfile from pathlib import Path from typing import List, Tuple import coremltools as ct from executorch.backends.apple.coreml.compiler import CoreMLBackend from executorch.exir import EdgeProgramManager from executorch.exir.backend.compile_spec_schema import CompileSpec from executorch.exir.tracer import Value from tabulate import tabulate def get_root_dir_path() -> Path: return Path(__file__).resolve().parent.parent.parent.parent.parent sys.path.append(str((get_root_dir_path() / "examples").resolve())) from inspector_utils import ( build_sdk_runner_including_coreml, ComparisonResult, create_inspector_coreml, create_inspector_reference, get_comparison_result, module_to_edge, ) from models import MODEL_NAME_TO_MODEL from models.model_factory import EagerModelFactory def args_parser() -> argparse.ArgumentParser: parser = argparse.ArgumentParser() parser.add_argument( "-m", "--model_name", required=True, help=f"Provide model name. Valid ones: {list(MODEL_NAME_TO_MODEL.keys())}", ) parser.add_argument( "-c", "--compute_unit", required=False, default=ct.ComputeUnit.ALL.name.lower(), help=f"Provide compute unit for the model. Valid ones: {[[compute_unit.name.lower() for compute_unit in ct.ComputeUnit]]}", ) parser.add_argument( "-precision", "--compute_precision", required=False, default=ct.precision.FLOAT16.value, help=f"Provide compute precision for the model. Valid ones: {[[precision.value for precision in ct.precision]]}", ) parser.add_argument( "--compile", action=argparse.BooleanOptionalAction, required=False, default=False, ) parser.add_argument( "-env", "--conda_environment_name", required=False, default="executorch", help="Provide conda environment name.", ) return parser def get_compile_specs_from_args(args): model_type = CoreMLBackend.MODEL_TYPE.MODEL if args.compile: model_type = CoreMLBackend.MODEL_TYPE.COMPILED_MODEL compute_precision = ct.precision(args.compute_precision) compute_unit = ct.ComputeUnit[args.compute_unit.upper()] return CoreMLBackend.generate_compile_specs( compute_precision=compute_precision, compute_unit=compute_unit, model_type=model_type, minimum_deployment_target=ct.target.iOS17, ) def compare_intermediate_tensors( edge_program: EdgeProgramManager, example_inputs: Tuple[Value, ...], coreml_compile_specs: List[CompileSpec], model_name: str, working_dir_path: Path, ) -> ComparisonResult: inspector_coreml = create_inspector_coreml( edge_program=edge_program, compile_specs=coreml_compile_specs, example_inputs=example_inputs, model_name=model_name, working_dir_path=working_dir_path, root_dir_path=get_root_dir_path(), ) inspector_reference = create_inspector_reference( edge_program=edge_program, example_inputs=example_inputs, model_name=model_name, working_dir_path=working_dir_path, root_dir_path=get_root_dir_path(), ) return get_comparison_result( inspector1=inspector_reference, tag1="reference", inspector2=inspector_coreml, tag2="coreml", ) def main() -> None: parser = args_parser() args = parser.parse_args() if args.model_name not in MODEL_NAME_TO_MODEL: raise RuntimeError( f"Model {args.model_name} is not a valid name. " f"Available models are {list(MODEL_NAME_TO_MODEL.keys())}." ) valid_compute_units = [compute_unit.name.lower() for compute_unit in ct.ComputeUnit] if args.compute_unit not in valid_compute_units: raise RuntimeError( f"{args.compute_unit} is invalid. " f"Valid compute units are {valid_compute_units}." ) build_sdk_runner_including_coreml( root_dir_path=get_root_dir_path(), conda_env_name=args.conda_environment_name ) model, example_inputs, _ = EagerModelFactory.create_model( *MODEL_NAME_TO_MODEL[args.model_name] ) model.eval() edge_program = module_to_edge( module=model, example_inputs=example_inputs, ) coreml_compile_specs = get_compile_specs_from_args(args) with tempfile.TemporaryDirectory() as temp_dir_name: working_dir_path = Path(temp_dir_name) / "debugger" working_dir_path.mkdir(parents=True, exist_ok=True) comparison_result = compare_intermediate_tensors( edge_program=edge_program, example_inputs=example_inputs, coreml_compile_specs=coreml_compile_specs, model_name=args.model_name, working_dir_path=working_dir_path, ) print( tabulate(comparison_result.to_dataframe(), headers="keys", tablefmt="grid") ) if __name__ == "__main__": main() # pragma: no cover --- .vscode/settings.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index 7a73a41bfdf..8cbc5986ee5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,2 +1,4 @@ { + "githubPullRequests.pullRequestDescription": "commit", + "editor.formatOnSave": true } \ No newline at end of file From a77bdb11226ef3e91318406aa14739c36ca43eb8 Mon Sep 17 00:00:00 2001 From: mitrobik Date: Sat, 14 Mar 2026 12:57:01 +0000 Subject: [PATCH 3/5] cr copyrights From dbd1ea8e67d66c9c36925f3d23c644bd7ac47d0d Mon Sep 17 00:00:00 2001 From: mitrobik Date: Sat, 14 Mar 2026 13:44:18 +0000 Subject: [PATCH 4/5] true --- docs/source/conf.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/source/conf.py b/docs/source/conf.py index 1a2ef3e5e5f..2f7e3f3ca03 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -28,6 +28,11 @@ # To let us import ./custom_directives.py sys.path.insert(0, os.path.abspath(".")) + +# Add the source tree so we can import executorch without installing it. +# This helps building the docs in environments where the package isn't installed. +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "src"))) + # -- Project information ----------------------------------------------------- project = "ExecuTorch" From add9c8782c5aedc6bc492d660d90b0bc0af36b42 Mon Sep 17 00:00:00 2001 From: mitrobik Date: Sat, 14 Mar 2026 13:54:58 +0000 Subject: [PATCH 5/5] instagram https://www.instagram.com/accounts/password/reset/# https://www.instagram.com/mitrosiveofc/ +1(786)865-1523 htt.ps://www.instagram.com/login/ https://www.instagram.com/mitrosiveofc/ +1(786)865-1523 https://www.instagram.com/accounts/password/reset/#Please enter the commit message for your changes. Lines starting --- docs/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 2f7e3f3ca03..314133e1142 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -31,7 +31,7 @@ # Add the source tree so we can import executorch without installing it. # This helps building the docs in environments where the package isn't installed. -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "src"))) +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "src"))) # -- Project information -----------------------------------------------------