Add more sample models to OSS CI (#76) Summary: This updates the CI to build and test all models under `examples/models`. * A simple script `.ci/scripts/gather_test_models.py` gathers all the models there and makes them available to the CI. All models are then run in parallel. * Install vision and audio as they are needed by `mobilenet` and others We have 8 current models x 2 os (linux and mac) x 2 builds system (buck2 and cmake) = 32 combinations. I will check with the team on the status of quantized models testing and add them in a later PR. Pull Request resolved: https://github.com/pytorch/executorch/pull/76 Reviewed By: larryliu0820, guangy10 Differential Revision: D48485199 Pulled By: huydhn fbshipit-source-id: d78ee063b89e5be0d0d6ea5757e3c3e72d83feb1
A unified ML software stack within the PyTorch platform for edge devices. It defines new compiler entry points as well as a state-of-art runtime.
Compared to the legacy Lite Interpreter, there are some major benefits:
executorch ├── backends # 1st party backend implementations. | ├── xnnpack | ├── vulkan | ├── backend_api.py # TODO move to exir/backend | ├── backend_details.py # TODO move to exir/backend | ├── partioner.py # TODO move to exir/backend ├── build # Utilities for managing the build system. ├── bundled_program # Utilities for attaching reference inputs and outputs to models. TODO move to extension ├── codegen # Tooling to autogenerate bindings between kernels and the runtime. TODO move to tool ├── configurations # TODO delete this ├── docs # Static docs tooling ├── examples # Examples of various user flows, such as model export, delegates, and runtime execution. | ├── executor_runner | ├── export | ├── models ├── exir # Ahead of time library, model capture and lowering apis. | ├── capture # Program capture. | ├── dialects # Op sets for various dialects in the export process. | ├── emit # Conversion from ExportedProgram to Executorch execution instructions. | ├── program # Export artifacts. | ├── serialize # Serialize final export artifact. ├── extension # Extensions built on top of the runtime. | ├── aten_util | ├── data_loader # 1st party data loader implementations. | ├── memory_allocator # 1st party memory allocator implementations. | ├── pybindings # Python api for executorch runtime. | ├── pytree # C++ and Python flattening and unflattening lib for pytrees. | ├── testing_util ├── kernels # 1st party kernel implementations. | ├── aten | ├── optimized | ├── portable # Reference implementations of ATen operators. | ├── prim_ops # Special ops used in executorch runtime for control flow and symbolic primitives. | ├── quantized ├── profiler # Utilities for profiling. TODO delete in favor of ETDump in sdk/ ├── runtime # core cpp runtime of executorch | ├── backend # Backend definition and registration. | ├── core # Core structures used across all levels of the runtime | ├── executor # Model loading, initalization, and execution. | ├── kernel # Kernel registration and management. | ├── platform # Layer between architecture specific code and user calls. ├── schema # Executorch program definition, TODO move under serialization/ ├── scripts # Utility scripts for size management, dependency management, etc. ├── sdk # Model profiling, debugging, and introspection: NOT READY YET FOR OSS USE ├── shim # Compatibility layer between OSS and Internal builds ├── test # Broad scoped end2end tests ├── third-party # third-party dependencies ├── util # TODO delete this
ExecuTorch is BSD licensed, as found in the LICENSE file.