Skip to content

ETH-PBL/EdgeCodec

Repository files navigation

EdgeCodec

EdgeCodec: Onboard Lightweight High Fidelity Neural Compressor with Vector Quantization

Introduction

On this git you will find the essentials to EdgeCodecs structure, training and evaluation as described in the paper. EdgeCodec relies on lucidrains vector-quantize-pytorch repository for the residual vector quantizer implementation.

Example Image

Dataset

This git does NOT provide the original AeroSense dataset, which EdgeCodec is trained on. For access to the dataset and it's associated processing library Aerolib please contact @tommasopolonelli.

If you want to test the code as it is, you will need to provide tensors of shape batch_size x 36 x 800. The C-code should be able to run out of the box with Frvq.c as default in the CMakeLists. But the C part has a separate ReadMe which explains it all.

Requirements

I would recommend a regular python/conda enviromnent if you want to use an associated dataset since you avoid the headache of mounts in Docker Images, but those can obviously also be made from this and the associated requirements.txt.

To run python section

Create an enviromnent

python -m venv env
source env/bin/activate # you should have an (env) next to your console line
pip install -r requirements.txt

Now you should be ready to run any of the python files in main_scripts. Please be aware that I put in generic paths to model files, dataset etc. In the code itself I've described what every single path "should" point, the way I set it up. So either .pt files or configs or anything really.

About

EdgeCodec: Onboard Lightweight High Fidelity Neural Compressor with Vector Quantization

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published