This code is based on the implementation of Sign Language Transformers: Sign Language Transformers: Joint End-to-end Sign Language Recognition and Translation, available here and Frozen Pretrained Transformers for Neural Sign Language Translation, available here.
A presentation of the works can be found here
-
Download the feature files using the
data/download.sh
script into the data directory. -
[Optional] Create a conda or python virtual environment.
-
Install required packages using the
requirements.txt
file.pip install -r requirements.txt
-
The correct pytorch version is required with GPU support but since the version used is a lot older and replicating it might create issues with CUDA, I have attached a colab environment here which should be able to run it.
As mentioned above I have attached a colab environment here which should be able to run it.
Choose the configuration file that you want to reproduce and update the data.data_path
and training.model_dir
configuration entries
to the path where your data resides (default: data/PHOENIX2014T
) and the path where you want the experiment logs and checkpoints to be saved.
python -m signjoey train configs/$CONFIG.yaml
For the mBART-50 model, you will first need to tokenize the corpus using the mBART-50 tokenizer. You can use the tokenization/tokenize_mbart50.py
script for this, but the mbart model performs very poorly so we can ignore that and try some of our example config files:
python -m signjoey train configs\lc\s2gt\phoenix14t_bert2rnd_50.yaml
logs: logs/learning_curves/sign2glosstext/phoenix14t_bert2rnd/50/
Training time: 1 hr 46 mins
https://tensorboard.dev/experiment/3D6N6NznQsac1E2N8Vr8nA
DEV: BLEU-4: 19.20
TES: BLEU-4: 19.44
python -m signjoey train configs\lc\s2gt\phoenix14t_bert2rnd_50_multilingualBert.yaml
Best Bleu 4 from validation: 18.81
logs: logs/learning_curves/sign2glosstext/phoenix14t_bert2rnd_multilingual/50/
Training time: 2 hr 38 mins
https://tensorboard.dev/experiment/uzqSdt07QqGniE9EbvMbxg/
DEV: BLEU-4: 19.02
TES: BLEU-4: 19.25
python -m signjoey train configs\lc\s2gt\phoenix14t_bert2rnd_50_germanBert.yaml
logs: logs/learning_curves/sign2glosstext/phoenix14t_bert2rnd_german/50/
Training time: 53 mins
https://tensorboard.dev/experiment/auxQWNxORayQi6l6V4dlEQ
DEV: BLEU-4: 17.87
TES: BLEU-4: 18.93
python -m signjoey train configs\lc\s2gt\phoenix14t_bert2bert_50.yaml
logs: logs/learning_curves/sign2glosstext/phoenix14t_bert2bert/50/
Training time: 1 hr 9 mins
https://tensorboard.dev/experiment/beTaoOvnT56vjYHabpG1Zw
DEV: BLEU-4: 18.44
TES: BLEU-4: 18.65
python -m signjoey train configs\lc\s2gt\phoenix14t_50.yaml
logs: logs/learning_curves/sign2glosstext/phoenix14t/50/
Training time: 2 hr 41 mins
https://tensorboard.dev/experiment/RSZ71yigT3a3xqykNF2P0Q
DEV: BLEU-4: 18.61
TES: BLEU-4: 18.32
python -m signjoey train configs\lc\s2gt\phoenix14t_bert2bert_50_germanBert.yaml
logs: logs/learning_curves/sign2glosstext/phoenix14t_bert2bert_german/50/
Training time: 44 mins
https://tensorboard.dev/experiment/pe6IziXZQNiKIACrJ7dzMw/
DEV: BLEU-4: 17.76
TES: BLEU-4: 17.64
@InProceedings{De_Coster_2021_AT4SSL,
author = {De Coster, Mathieu and D'Oosterlinck, Karel and Pizurica, Marija and Rabaey, Paloma and Verlinden, Severine and Van Herreweghe, Mieke and Dambre, Joni},
title = {Frozen Pretrained Transformers for Neural Sign Language Translation},
booktitle = {1st International Workshop on Automated Translation for Signed and Spoken Languages},
month = {August},
year = {2021},
}
@inproceedings{camgoz2020sign,
author = {Necati Cihan Camgoz and Oscar Koller and Simon Hadfield and Richard Bowden},
title = {Sign Language Transformers: Joint End-to-end Sign Language Recognition and Translation},
booktitle = {IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year = {2020}
}
@article{info13050220,
Article-Number = {220},
Author = {De Coster, Mathieu and Dambre, Joni},
Doi = {10.3390/info13050220},
Issn = {2078-2489},
Journal = {Information},
Number = {5},
Title = {Leveraging Frozen Pretrained Written Language Models for Neural Sign Language Translation},
Url = {https://www.mdpi.com/2078-2489/13/5/220},
Volume = {13},
Year = {2022}
}