Transfer Learning for German Language

Hey,
I would like to train German language based on the newest pre-trained model for English v 0.5.0. As I’m using a different alphabet.txt (inlcuding ä,ü,ö,ß and not " ’ ") I need to drop the last layers. Any recommandation for the easiest way? I’m struggeling with using the given checkpoints as I think its not using them. Is it possible to use the changes from transfer-learning-de branch even though there version 0.4.0-alpha 3 is used? I’m using the Common Voice dataset for german and trained DeepSpeech from scratch already ( so I’ve got the lm.binary and trie for german already, just out of the whole text transcripts of the data set) I tried:
python3 -u DeepSpeech.py
–export_dir deepspeech-0.5.0/model
–summary_dir german_training_data/summaries/
–checkpoint_dir german_training_data/checkpoints/
–drop_source_layers 2
–source_model_checkpoint_dir deepspeech-0.5.0/
–train_files german_training_data/clips/train_working.csv
–dev_files german_training_data/clips/dev_working.csv
–test_files german_training_data/clips/test_working.csv
–n_hidden 2048
–epochs -5
–train_batch_size 24
–dev_batch_size 48
–test_batch_size 48
and thought the flags “checkpoint_dir” is the new directory saving new checkpoints and “source_model_checkpoint_dir” should take the old checkpoints for the first layers, is that correct? Is there a documenation I didn’t see? And another thing: the old checkpoints will give only another initialization than randomly but are not frozen, right? How can I freeze them and just train the last layers alone? Is this a good or bad idea? Thanks already

1 Like

Easiest way I see would be to do the substitutions ä=>ae, ü=>ue, ö=>oe, ß=>ss in your training, dev, and test data, and use the existing alphabet.txt.

@ena.1994, if you are still looking for DeepSpeech results on German Language. Check paper and repository. It might be useful.

https://www.researchgate.net/publication/336532830_German_End-to-end_Speech_Recognition_based_on_DeepSpeech