Age | Commit message (Collapse) | Author |
|
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
|
|
Adds support for unstructured polynomial decay pruning rewrites
Resolves: MLIA-1171
Signed-off-by: Nathan Bailey <nathan.bailey@arm.com>
Change-Id: I9e753f35f8afe53aa24b87d794ff6986a571168f
|
|
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
|
|
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
|
|
Signed-off-by: Benjamin Klimczak <benjamin.klimczak@arm.com>
Change-Id: I0f708c69cb504cb056bc2808e214ca0a3425e658
|
|
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
|
|
Speeds up unit tests in test_cli_commands
Signed-off-by: Nathan Bailey <nathan.bailey@arm.com>
Change-Id: I6bca9611808ea3c7a8ceaa242f8b49ae7d53f4a3
|
|
Adds support for rewrite-specific parameters
Resolves: MLIA-1114
Signed-off-by: Nathan Bailey <nathan.bailey@arm.com>
Change-Id: I290c326af3356033a916a43b28027819c876c3dd
|
|
Rework doctrings in rewrite functions based on recent changes
Resolves MLIA-944
Signed-off-by: Nathan Bailey <nathan.bailey@arm.com>
Change-Id: I31a37e17a296f8a16d0db408d48c6de65c05300e
|
|
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
|
|
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
|
|
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
|
|
- 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
|
|
- 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
|
|
- 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
|
|
Signed-off-by: Benedetta Delfino <benedetta.delfino@arm.com>
Change-Id: Ic6a07ef12868673466a5db0cbce08015b9df4ffc
|
|
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
|
|
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
|
|
Adds API changes for a fully-connected-clustering rewrite
Resolves: MLIA-1077
Signed-off-by: Nathan Bailey <nathan.bailey@arm.com>
Change-Id: I845796a391c5020e66472456b97ecad5ee8139a8
|
|
if needed.
Extension to MLIA-1004
Signed-off-by: Nathan Bailey <nathan.bailey@arm.com>
Change-Id: Ib40c2e5932c1210a1d141200815a76e33f5ab078
|
|
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>
|
|
Update commitizen config to include all the commit types into the changelog,
that are currently accepted by the commit message verification.
Change-Id: Iffc975bff9c44ea202b109bd488ba1c9d5e19bd6
|
|
- 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
|
|
- 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
|
|
- The placeholder currently duplicates the existing fc target
Resolves: MLIA-1000
Signed-off-by: Madeleine Dunn <madeleine.dunn@arm.com>
Change-Id: I0df5d47e61dafa567e212566bbcb0f1639fe7642
|
|
- Add a placeholder file and registry option for sparsity
Resolves: MLIA-999
Signed-off-by: Madeleine Dunn <madeleine.dunn@arm.com>
Change-Id: I273192ba6813309f5226e3d8e0b686ce87ee6b79
|
|
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
|
|
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
|
|
- 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
|
|
- 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>
|
|
Signed-off-by: Benedetta Delfino <benedetta.delfino@arm.com>
Change-Id: I51f845e9fc9f0a699a239c63c268565487be2aeb
|
|
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
|
|
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
|
|
Signed-off-by: Benedetta Delfino <benedetta.delfino@arm.com>
Change-Id: I0918c0c323328348e8f605ce20b81840b5c65a81
|
|
- Relax the filtering when unpacking an archive
- Add unit tests for the filtering
Resolves: MLIA-1042
Change-Id: I8acd6a1596bef1c624a8fc67cdfbac961e0b179d
|
|
- 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
|
|
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
|
|
- 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
|
|
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
|
|
Resolves: MLIA-1074
Signed-off-by: Benjamin Klimczak <benjamin.klimczak@arm.com>
Change-Id: Id23da33fefbe5ef61b2e507f6c7706e3ed3d0bef
|
|
Resolves: MLIA-1055, MLIA-1056, MLIA-1057
Signed-off-by: Nathan Bailey <nathan.bailey@arm.com>
Change-Id: Id573cec94e4a69117051dcd5175f383c0955d890
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
- 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
|
|
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>
|
|
Signed-off-by: Gergely Nagy <gergely.nagy@arm.com>
Change-Id: I6c8b0b74d6d35261eb0ff1a37b9577f9033be8f9
|
|
Signed-off-by: Annie Tallund <annie.tallund@arm.com>
Change-Id: I2b2383533578b815372e26f01d6066b4a9b39df0
|
|
- New overview on Arm MLIA
Signed-off-by: Annie Tallund <annie.tallund@arm.com>
Change-Id: I7da120aefb23ac6434c99c41e65a051f4a0bd8fa
|