aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-06-20feat: Enable Depthwise Separable conv2d rewritesNathan Bailey
Enables rewrites to be replaced with sparse or clustered depthwise-separable-conv2d layers. Resolves: MLIA-1169 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I83b65142346d468c390c694010cc1bf2218f3be1
2024-06-13feat: Unstructured Sparsity Rewrites for Fully Connected and Conv2D LayersNathan Bailey
Adds support for unstructured polynomial decay pruning rewrites Resolves: MLIA-1171 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I9e753f35f8afe53aa24b87d794ff6986a571168f
2024-06-12fix: Remove activation layer for conv rewrites when none is specifiedNathan Bailey
Removes the creation of an activation layer when no activation layer is desired Allows the rewrite to be quantized Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I6ecf0e3f88873f39161c45bd93e9aefcaf838378
2024-06-07feat: Add kernel size to user parameter list for conv2D rewritesNathan Bailey
Adds the kernel size as a user input parameter for conv2D to add flexibility Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: If8fa70e79a64dffafd5cf6b1c3e482e89ac6f8de
2024-05-31docs: Clarify the licensing in the README.mdBenjamin Klimczak
Signed-off-by: Benjamin Klimczak <benjamin.klimczak@arm.com> Change-Id: I0f708c69cb504cb056bc2808e214ca0a3425e658
2024-05-30feat: Enable user parameters for activation functions in conv2d rewritesNathan Bailey
Allow the user to specify an activation function for conv2d rewrites Enable automatic detection of most common activation function in rewrite in the case that the user does not specify one Resolves: MLIA-1163 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: Icbf6f4c6f8eaba6d78b88bdf62448f1d30aed1ae
2024-05-29fix: Update set_training_steps to properly executeNathan Bailey
Speeds up unit tests in test_cli_commands Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I6bca9611808ea3c7a8ceaa242f8b49ae7d53f4a3
2024-05-28feat: Enable rewrite parameterisation for specific rewritesNathan Bailey
Adds support for rewrite-specific parameters Resolves: MLIA-1114 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I290c326af3356033a916a43b28027819c876c3dd
2024-05-21fix: Extend docstrings in the rewrite moduleNathan Bailey
Rework doctrings in rewrite functions based on recent changes Resolves MLIA-944 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I31a37e17a296f8a16d0db408d48c6de65c05300e
2024-05-21feat: Implement the conv2D rewrites for int8 and fp32 modelsNathan Bailey
Enable clustering and fully connected rewrites for conv2D layers. Resolves: MLIA-1159 and MLIA-1160 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I640b8a7e79e455b12fb68d02ac1c33213b8de9c6
2024-05-21feat: CLI and API changes for the conv2d rewritesNathan Bailey
Implements CLI and API changes for the new conv2d rewrite targets Resolves: MLIA-1157 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I03c7a3a536d2f0a805b4689a9d96b95f8b4ab86c
2024-05-13fix: Fixes conftest.py to skip fixture set_training_steps if mark is setNathan Bailey
Tests now can be marked using pytest to skip this autouse fixture if required Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: Ib29d1cb452adfb0d1c60b65e4d35f899f7398382
2024-05-08feat: Enables augmentations via --optimization-profileNathan Bailey
- Enables user to specify augmentations via the --optimization-profile switch - Can specify from pre-given examples or can provide each parameter manually - Updates README Resolves: MLIA-1147 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I9cbe71d85def6a8db9dc974adc4bcc8d90625505
2024-05-07fix: Fixes MAE discrepancies of rewritesNathan Bailey
- Adds model.evaluate stage to retrieve correct MAE - Sets augmentations to none by default - Enables MAE calculations using dequantized data (if needed) Resolves: MLIA-972 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: Ia838b2d86caf7b10ad6e4d87bf6aa9e27c80bb72
2024-05-01ci: Update Sphinx versionMadeleine Dunn
- Update Sphinx version to 5.0.0 to fix the mlia-docs job Signed-off-by: Madeleine Dunn <madeleine.dunn@arm.com> Change-Id: I790a53d9cd2eac774c43bc32ca4a9aba89e90d69
2024-04-23feat: Add custom pre-commit hook to check for updated Copyright headerBenedetta Delfino
Signed-off-by: Benedetta Delfino <benedetta.delfino@arm.com> Change-Id: Ic6a07ef12868673466a5db0cbce08015b9df4ffc
2024-04-16feat: Implement the clustering rewrite for int8Nathan Bailey
Implements a clustering rewrite for fully connected layers for int8 models Resolves: MLIA-1080 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: If48efb22764187a382e5b84bbb5c3b75a6e71b75
2024-04-16feat: Implement the clustering rewrite for fp32Nathan Bailey
Implements a clustering rewrite for fully connected layers for fp32 models Resolves: MLIA-1079 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I4c12f0bf911219b4066f0760976e424ebe900a0b
2024-04-16feat: CLI and API changes for the clustering rewriteNathan Bailey
Adds API changes for a fully-connected-clustering rewrite Resolves: MLIA-1077 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I845796a391c5020e66472456b97ecad5ee8139a8
2024-04-12fix: Change training_parameters to return empty list instead of list of None ↵Nathan Bailey
if needed. Extension to MLIA-1004 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: Ib40c2e5932c1210a1d141200815a76e33f5ab078
2024-04-12fix: Pin h5py + TF dependency to fix issue on aarch64Gergely Nagy
Worked around dependency issue on aarch64, due to this bug: https://github.com/h5py/h5py/issues/2408. When the bug is fixed, this commit can be reverted. Pinning the following dependencies: * tensorflow==2.15.1 * h5py==3.10.0 Change-Id: Iada706c403f14d29735e9abea986427bbdae0660 Signed-off-by: Gergely Nagy <gergely.nagy@arm.com>
2024-04-04build: Fix changelog generation with missing commit typesGergely Nagy
Update commitizen config to include all the commit types into the changelog, that are currently accepted by the commit message verification. Change-Id: Iffc975bff9c44ea202b109bd488ba1c9d5e19bd6
2024-04-04feat: Implement int8 sparsity 2:4 rewriteMadeleine Dunn
- Implement pruning-preserving quantisation aware training - Rework the training logic to avoid duplication - Remove the DynamicallyLoadedRewrite class as it is now unused Resolves: MLIA-1003 Signed-off-by: Madeleine Dunn <madeleine.dunn@arm.com> Change-Id: Ia7a4acf5f477a27963cffa88180cca085b32ffe4
2024-04-03feat: Implement fp32 sparsity 2:4 rewriteMadeleine Dunn
- Update the existing placeholder with code to prune the given model Resolves: MLIA-1002 Signed-off-by: Madeleine Dunn <madeleine.dunn@arm.com> Change-Id: I76b0e0bfe81be5e57d518cd7bb588eef76a11641
2024-04-03feat: Add placeholder rewrite_target for sparsity24Madeleine Dunn
- The placeholder currently duplicates the existing fc target Resolves: MLIA-1000 Signed-off-by: Madeleine Dunn <madeleine.dunn@arm.com> Change-Id: I0df5d47e61dafa567e212566bbcb0f1639fe7642
2024-04-03feat: Implement sparsityMadeleine Dunn
- Add a placeholder file and registry option for sparsity Resolves: MLIA-999 Signed-off-by: Madeleine Dunn <madeleine.dunn@arm.com> Change-Id: I273192ba6813309f5226e3d8e0b686ce87ee6b79
2024-03-28fix: Check that training checkpoint feature works as expectedNathan Bailey
Fixes the checkpoint feature in training and also completes unit tests for it Resolves: MLIA-1111 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: Ic2b84b4b045db5ba3cb299fcd137ae9d31df5298
2024-03-28feat: Update Vela versionNathan Bailey
Updates Vela Version to 3.11.0 and TensorFlow version to 2.15.1 Required keras import to change: from keras.api._v2 import keras needed instead of calling tf.keras Subsequently tf.keras.X needed to change to keras.X Resolves: MLIA-1107 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I53bcaa9cdad58b0e6c311c8c6490393d33cb18bc
2024-03-27fix: Update rewrite target nameMadeleine Dunn
- Rename "fully_connected" to "fully-connected" - This will resolve issues with upstreaming rewrite library changes Signed-off-by: Madeleine Dunn <madeleine.dunn@arm.com> Change-Id: I2f24ae4917a556fd0bd44f0db6ee4e0f7a68cd24
2024-03-22refactor: Backend dependencies and moreBenjamin Klimczak
- 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>
2024-03-21refactor: Refactored functions for Corstone installationsBenedetta Delfino
Signed-off-by: Benedetta Delfino <benedetta.delfino@arm.com> Change-Id: I51f845e9fc9f0a699a239c63c268565487be2aeb
2024-03-19feat: Add e2e optimization profileNathan Bailey
Adds optimization profile to the tests_e2e directory: - Enables the number of steps to be configured to reduce e2e runtime Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I1433c75b22916a3fa640917bc18175607ac24755
2024-03-14feat: Enable rewrite parameterisationNathan Bailey
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
2024-03-14feat: Update Corstone-300 version to 11.24_13Benedetta Delfino
Signed-off-by: Benedetta Delfino <benedetta.delfino@arm.com> Change-Id: I0918c0c323328348e8f605ce20b81840b5c65a81
2024-03-13fix: Relax filtering during archive installationBenjamin Klimczak
- Relax the filtering when unpacking an archive - Add unit tests for the filtering Resolves: MLIA-1042 Change-Id: I8acd6a1596bef1c624a8fc67cdfbac961e0b179d
2024-03-11feat: Add support for Arm Corstone-300 and Corstone-310 on AArch64Benedetta Delfino
- 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
2024-03-08fix: bugfix argparse e2e testsBenedetta Delfino
Argparse in the e2e tests was set up such that if the model name was specified after the backend, the model itself would be recognised as an invalid backend and the test skipped. Fixed this behavior Resolves: MLIA-1101 Signed-off-by: Benedetta Delfino <benni.delfino@arm.com> Change-Id: I645992379adfcb13a72b946c713d5a0be429fca8
2024-03-07fix: Retry flaky test up to four timesAnnie Tallund
- We have seen flaky tests failing on retrying - Increasing the number of tries to see if it resolves the issue Signed-off-by: Annie Tallund <annie.tallund@arm.com> Change-Id: I15f304a3b7e0e1b15c8e3b8fe22ffacb86f1eda0
2024-02-23refactor: Migrate from Vela's internal code to CSV summaryNathan Bailey
Removes vela defines from vela compiler.py and performance.py Replaces calls to vela code with data from vela summary csv Resolves: MLIA-1024 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: I569878f2936767f70c0255919ca40d1969275529
2024-02-14docs: Update RELEASES.md for release 0.8.00.8.0-rc.10.8.0Benjamin Klimczak
Resolves: MLIA-1074 Signed-off-by: Benjamin Klimczak <benjamin.klimczak@arm.com> Change-Id: Id23da33fefbe5ef61b2e507f6c7706e3ed3d0bef
2024-02-09feat: Integrate Vela's per-layer performance estimatesNathan Bailey
Resolves: MLIA-1055, MLIA-1056, MLIA-1057 Signed-off-by: Nathan Bailey <nathan.bailey@arm.com> Change-Id: Id573cec94e4a69117051dcd5175f383c0955d890
2024-01-23fix: Improve error handling for invalid fileAnnie Tallund
If a file has the right extension, MLIA previously tried to load files with invalid content, resulting in confusing errors. This patch adds better reporting for that scenario Resolves: MLIA-1051 Signed-off-by: Annie Tallund <annie.tallund@arm.com> Change-Id: I3f1fd578906a73a58367428f78409866f5da7836
2024-01-23build: Integrate Commitizen to check commit messages and generate changelogGergely Nagy
The commit messages are checked against the Conventional Commits (https://www.conventionalcommits.org) specification, along with minor customizations (eg, capitalized header, some irrelevant commit types removed Checking messages is integrated into `tox -e lint`. Changelog generation is integrated into "tox -e changelog", which runs `cz changelog` command underneath and incrementally updates RELEASES.md. Change-Id: I86f21f6c78a166d3bb92450a027a2d7e71ce22cf Signed-off-by: Gergely Nagy <gergely.nagy@arm.com>
2023-12-07MLIA-835 Invalid JSON outputGergely Nagy
TFLiteConverter was producing log messages in the output that was not possible to capture and redirect to logging. The solution/workaround is to run it as a subprocess. This change required some refactoring around existing invocations of the converter. Change-Id: I394bd0d49d36e6686cfcb9d658e4aad05326cb87 Signed-off-by: Gergely Nagy <gergely.nagy@arm.com>
2023-12-04Update to Vela 3.10, TensorFlow 2.14, Python 3.9Benjamin Klimczak
Updating to Vela 3.10 which requires TensorFlow 2.14 which requires Python 3.9 (dropping support for Python 3.8). Resolves: MLIA-997 Change-Id: Id60bd08f7156a8efa204ef71ba81590edf0e3b28 Signed-off-by: Benjamin Klimczak <benjamin.klimczak@arm.com>
2023-12-04MLIA-136 Add flaky dependency for unstable testsAnnie Tallund
- https://github.com/box/flaky - Is set to re-run tests marked with @flaky - Provides a report on failures - Add flaky guard to tests/test_nn_tensorflow_optimizations_clustering.py Signed-off-by: Annie Tallund <annie.tallund@arm.com> Change-Id: I6795fd8bb2c38be6513f3689c3eeb805e7976add
2023-11-24MLIA-1037 Fix default backend validationBenjamin Klimczak
Add a check to see if the default backends are installed when no backend is provided via CLI. Change-Id: I27dd9f35cfeec187f44cba06915d1be5a3a052b5 Signed-off-by: Benjamin Klimczak <benjamin.klimczak@arm.com>
2023-11-22MLIA-963: Capture and handle Vela warningMichiel Olieslagers
Signed-off-by: Gergely Nagy <gergely.nagy@arm.com> Change-Id: I6c8b0b74d6d35261eb0ff1a37b9577f9033be8f9
2023-11-16MLIA-136 Update RELEASES.md with pruning test issueAnnie Tallund
Signed-off-by: Annie Tallund <annie.tallund@arm.com> Change-Id: I2b2383533578b815372e26f01d6066b4a9b39df0
2023-11-16MLIA-790 Update README.mdAnnie Tallund
- New overview on Arm MLIA Signed-off-by: Annie Tallund <annie.tallund@arm.com> Change-Id: I7da120aefb23ac6434c99c41e65a051f4a0bd8fa