End-to-End-Spracherkennung mit RNN-Transducer in Tensorflow 2.0
Dieses Spracherkennungsmodell basiert auf dem Forschungspapier „Streaming End-to-end Speech Recognition For Mobile Devices“ von Google und wird in Python 3 mit Tensorflow 2.0 implementiert
Führen Sie zum Einrichten Ihrer Umgebung den folgenden Befehl aus:
git clone --recurse https://github.com/noahchalifour/rnnt-speech-recognition.git
cd rnnt-speech-recognition
pip install tensorflow==2.2.0 # or tensorflow-gpu==2.2.0 for GPU support
pip install -r requirements.txt
./scripts/build_rnnt.sh # to setup the rnnt loss
Sie können den Common Voice-Datensatz hier finden und herunterladen
Bevor Sie ein Modell anhand des Common Voice-Datensatzes trainieren können, müssen Sie zunächst alle Audio-MP3-Dateitypen in WAVs konvertieren. Führen Sie dazu den folgenden Befehl aus:
HINWEIS: Stellen Sie sicher, dass
ffmpeg
auf Ihrem Computer installiert ist, da es dieses zum Konvertieren von MP3 in WAV verwendet
./scripts/common_voice_convert.sh <data_dir> <# of threads>
python scripts/remove_missing_samples.py
--data_dir <data_dir>
--replace_old
Nachdem Sie alle MP3s in WAVs konvertiert haben, die Sie zur Vorverarbeitung des Datensatzes benötigen, können Sie dies tun, indem Sie den folgenden Befehl ausführen:
python preprocess_common_voice.py
--data_dir <data_dir>
--output_dir <preprocessed_dir>
Um ein einfaches Modell zu trainieren, führen Sie den folgenden Befehl aus:
python run_rnnt.py
--mode train
--data_dir <path to data directory>