Age | Commit message (Collapse) | Author |
|
- Add backend dependencies: One backend can now depend on another
backend.
- Re-factor 'DownloadArtifact':
- Rename 'DownloadArtifact' to 'DownloadConfig'
- Remove attributes 'name' and 'version' not relevant for downloads
- Add helper properties:
- 'filename' parses the URL to extract the file name from the end
- 'headers' calls the function to generate a HTML header for the
download
- Add OutputLogger helper class
- Re-factor handling of backend configurations in the target profiles.
Change-Id: Ifda6cf12c375d0c1747d7e4130a0370d22c3d33a
Signed-off-by: Benjamin Klimczak <benjamin.klimczak@arm.com>
|
|
Enables user to provide a toml or default profile to change training settings for rewrite optimization
Resolves: MLIA-1004
Signed-off-by: Nathan Bailey <nathan.bailey@arm.com>
Change-Id: I3bf9f44b9a2062fb71ef36eb32c9a69edcc48061
|
|
- Add support for Corstone-300 download on AArch64
- Add support for Corstone-310 download on AArch64
- Add support for Corstone-310 download on x86
- Add e2e tests and unit tests
- Edited README.md to reflect updates
Resolves: MLIA-1017
Signed-off-by: Benedetta Delfino <benedetta.delfino@arm.com>
Change-Id: I8d54a721f91d67123f65c076313cef12b7df92bd
|
|
- List available rewrites
- Refactor/rename 'Rewrite' class to 'RewritingOptimizer'
- Introduce a registry for rewrite functions
- Refactor 'Rewriter' to use the registry to look up rewrite functions
- Remove mentions of hardcoded "fully_connected" from CLI help and
error messages, using the registry instead
- Add unit tests
- Enable rewrites for all targets:
Extract optimization (including rewrite specific code) from the
Ethos-U-specific data collector into OptimizingDataCollector.
This is reused in other targets' collectors, such as TOSA
and Cortex-A.
- Add more logging for rewrite
- add display of MAE and NRMSE values for the trained result
- add total model MAE and NRMSE metric
Resolves: MLIA-891, MLIA-899, MLIA-906
Change-Id: Ie798749e1ed60cab14fdb6d9c2271c833960e93f
Signed-off-by: Benjamin Klimczak <benjamin.klimczak@arm.com>
|
|
- Update version dependencies in the tox.ini
- Fix linter issues
Change-Id: I04c3a841ee2646a865dab037701d66c28792f2a4
Signed-off-by: Benjamin Klimczak <benjamin.klimczak@arm.com>
|
|
- Use directory mlia-output as output directory for MLIA
- If parameter --output-dir provided then place directory
mlia-output under specified path or otherwise create it
in the current working directory
Change-Id: I298088c4aa8dbe9f35dee69ecb9ff6e9ea3cac0a
|
|
- Provide "pretty names" to print information for targets and backends.
- Use 'target_config' instead of 'target' if a target profile is
used.
- Fix minor issue in output regarding the output directory.
Change-Id: Ib38231f30b4d609a0d1e8f9c52b2fb547c69cb6a
|
|
- Remove old backend configuration code
- Install backends into directory ~/.mlia
- Rename targets/backends in registry to make it consistent
across codebase.
Change-Id: I9c8b012fe863280f1c692940c0dcad3ef638aaae
|
|
New class 'TargetProfile' is used to load and verify target profiles.
Change-Id: I76373a923e2e5f55c4e95860635afe9fc5627a5d
|
|
- Start using TOML format for target profile
- Add support for loading custom target profile files
Change-Id: I6be019d4341e93115440ccdbdb6dafdc1c85b966
|
|
- The help text of MLIA now shows a table of supported targets, backends
and advice.
- The table is only shown with the help message and not when MLIA is
run normally.
Change-Id: I3234ce91e943de4b08b9471bd95a474df34755f7
|
|
* Remove --output parameter from argument parser
* Remove FormattedFilePath class and its presence across the codebase
* Move logging module from cli to core
* The output format is now injected in the execution context and used
across MLIA
* Depending on the output format, TextReporter and JSONReporter have
been created and used accordingly.
* The whole output to standard output and/or logfile is driven via the
logging module: the only case where the print is used is when the
--json parameter is specified. This is needed becase all output
(including third party application as well) needs to be disabled
otherwise it might corrupt the json output in the standard output.
* Debug information is logged into the log file and printed to stdout
when the output format is plain_text.
* Update E2E test and config to cope with the new mechanism of
outputting json data to standard output.
Change-Id: I4395800b0b1af4d24406a828d780bdeef98cd413
|
|
- add version extraction function in compat.py
- create Metadata, MLIAMetadata, TOSAMetadata and MetadataDisplay classes
- update the reporting functions so tosa and mlia version will be displayed in output json
- update unit test test_configure_and_get_tosa_advisor to mock the get_events function
- update the copyright information of all changed/added files
- handle exception and report to json when program crashes
- write new context managers for capturing stderr and stdout
- support reporting stderr to json output
- support reporting model checksum and model name to json output
- made changes in test_e2e.py handling {model_name} replacement in --output
- add unit tests
Change-Id: I6629fd1c5754378e6accd488217c83d87c7eb6f1
|
|
Breaking change in the CLI and API: Sub-commands "optimization",
"operators", and "performance" were replaced by "check", which
incorporates compatibility and performance checks, and "optimize" which
is used for optimization. "get_advice" API was adapted to these CLI
changes.
API changes:
* Remove previous advice category "all" that would perform all three
operations (when possible). Replace them with the ability to pass a
set of the advice categories.
* Update api.get_advice method docstring to reflect new changes.
* Set default advice category to COMPATIBILITY
* Update core.common.AdviceCategory by changing the "OPERATORS" advice
category to "COMPATIBILITY" and removing "ALL" enum type.
Update all subsequent methods that previously used "OPERATORS" to use
"COMPATIBILITY".
* Update core.context.ExecutionContext to have "COMPATIBILITY" as
default advice_category instead of "ALL".
* Remove api.generate_supported_operators_report and all related
functions from cli.commands, cli.helpers, cli.main, cli.options,
core.helpers
* Update tests to reflect new API changes.
CLI changes:
* Update README.md to contain information on the new CLI
* Remove the ability to generate supported operators support from MLIA
CLI
* Replace `mlia ops` and `mlia perf` with the new `mlia check` command
that can be used to perform both operations.
* Replace `mlia opt` with the new `mlia optimize` command.
* Replace `--evaluate-on` flag with `--backend` flag
* Replace `--verbose` flag with `--debug` flag (no behaviour change).
* Remove the ability for the user to select MLIA working directory.
Create and use a temporary directory in /temp instead.
* Change behaviour of `--output` flag to not format the content
automatically based on file extension anymore. Instead it will simply
redirect to a file.
* Add the `--json` flag to specfy that the format of the output should
be json.
* Add command validators that are used to validate inter-dependent
flags (e.g. backend validation based on target_profile).
* Add support for selecting built-in backends for both `check` and
`optimize` commands.
* Add new unit tests and update old ones to test the new CLI changes.
* Update RELEASES.md
* Update copyright notice
Change-Id: Ia6340797c7bee3acbbd26601950e5a16ad5602db
|
|
Change-Id: Ieeaa9188ea1e29e2ccaad7475d457bce71e3140d
|
|
- Provide command for backend installation in case
if backend is not available
- Fix issue with connection timeout during downloading
- Show installation tools output only in verbose mode
Change-Id: Ic0e495ba19879cc2cda4fd0bce20b57ba896cfeb
|
|
- Add new type of the backend based on python packages
- Add installation class for TOSA checker
- Update documentation
- Extend support of the parameter "force" in the
"install" command
Change-Id: I95567b75e1cfe85daa1f1c3d359975bb67b2504e
|
|
- Update TensorFlow dependencies for x86_64
- Adapt unit tests to new TensorFlow version
- Update linters (including pre-commit hooks) and fix issues
- Use conditional import to fix tflite compat code for aarch64
Change-Id: I1a9b080b900ab65e38f7f2552562822bbfdcd259
|
|
- Add ability to intercept low level TensorFlow output
- Produce advice for the models that could not be
converted to the TensorFlow Lite format
- Refactor utility functions for TensorFlow Lite
conversion
- Add TensorFlow Lite compatibility checker
Change-Id: I47d120d2619ced7b143bc92c5184515b81c0220d
|
|
- Use pyupgrade tool for the syntax upgrade
Change-Id: I3b9ae6cc5da193329e37028cde967ae049388361
|
|
- Enable deferred annotations evaluation
- Use builtin types for type hints whenever possible
- Use | syntax for union types
- Rename mlia.core._typing into mlia.core.typing
Change-Id: I3f6ffc02fa069c589bdd9e8bddbccd504285427a
|
|
- Move target specific details out of API module
- Move common logic for workflow event handler into a
separate class
Change-Id: Ic4a22657b722af1c1fead1d478f606ac57325788
|
|
Re-factoring the code base to further merge the old AIET code into MLIA.
- Remove last traces of the backend type 'tool'
- Controlled systems removed, including SSH protocol, controller,
RunningCommand, locks etc.
- Build command / build dir and deploy functionality removed from
Applications and Systems
- Moving working_dir()
- Replace module 'output_parser' with new module 'output_consumer' and
merge Base64 parsing into it
- Change the output consumption to optionally remove (i.e. actually
consume) lines
- Use Base64 parsing in GenericInferenceOutputParser, replacing the
regex-based parsing and remove the now unused regex parsing
- Remove AIET reporting
- Pre-install applications by moving them to src/mlia/resources/backends
- Rename aiet-config.json to backend-config.json
- Move tests from tests/mlia/ to tests/
- Adapt unit tests to code changes
- Dependencies removed: paramiko, filelock, psutil
- Fix bug in corstone.py: The wrong resource directory was used which
broke the functionality to download backends.
- Use f-string formatting.
- Use logging instead of print.
Change-Id: I768bc3bb6b2eda57d219ad01be4a8e0a74167d76
|
|
Merge the deprecated AIET interface for backend execution into MLIA:
- Execute backends directly (without subprocess and the aiet CLI)
- Fix issues with the unit tests
- Remove src/aiet and tests/aiet
- Re-factor code to replace 'aiet' with 'backend'
- Adapt and improve unit tests after re-factoring
- Remove dependencies that are not needed anymore (click and cloup)
Change-Id: I450734c6a3f705ba9afde41862b29e797e511f7c
|
|
Add MLIA codebase including sources and tests.
Change-Id: Id41707559bd721edd114793618d12ccd188d8dbd
|