Official implementation of the paper MTL-Split: Multi-Task Learning for Edge Devices using Split Computing accepted at the 61st Design Automation Conference (DAC 2024).
1. Repository setup:
$ git clone https://github.com/intelligolabs/MTL-Split
$ cd MTL-Split
- Download the 3D Shapes dataset from Google Cloud Storage. Then, add the dataset path on line 27 of the file
shapes.py
- Download the MEDIC dataset from https://crisisnlp.qcri.org/medic/
- Download the FACES dataset from https://faces.mpdl.mpg.de/imeji/
2. Conda environment setup:
$ conda create -n mtl_split python=3.10
$ conda activate mtl_split
$ pip install -r requirements.txt
Optionally, you can also log the training and evaluation to wandb.
- Update line 102 of the file
main.py
, specifyingproject=''
andentity=''
To run MTL-Split, use the file main.py
.
In particular, the launch.sh
file contains two examples (STL & MTL) of a launch script example that you can use to modify the default configuration.
Luigi Capogrosso1, Enrico Fraccaroli1,2, Samarjit Chakraborty2, Franco Fummi1, Marco Cristani1
1 Department of Engineering for Innovation Medicine, University of Verona, Italy
2 Department of Computer Science, The University of North Carolina at Chapel Hill, USA
1 [email protected]
, 2 [email protected]
, [email protected]
If you use MTL-Split, please, cite the following paper:
@InProceedings{capogrosso2024mtl,
author = {Capogrosso, Luigi and Fraccaroli, Enrico and Chakraborty, Samarjit and Fummi, Franco and Cristani, Marco},
booktitle = {61st Design Automation Conference (DAC)},
title = {{MTL-Split: Multi-Task Learning for Edge Devices using Split Computing}},
year = {2024},
doi = {10.1145/3649329.3655686},
}