Joint End to End Approaches to Improving Far-field Wake-up Keyword Detection
- Python >= 3.7 (Recommend to use Anaconda or Miniconda)
- PyTorch >= 1.3
- NVIDIA GPU + CUDA
-
Install dependent packages
cd E2E-Keyword-Spotting pip install -r requirements.txt
-
Or use conda
cd E2E-Keyword-Spotting conda env create -f environment.yaml
Dataset is from Google Speech Command published in arxiv.
- Data Pre-processing (Has already been done)
- According to the file, dataset has already been splited into three folders, train, test, and valid.
- The splited Google Speech Command dataset is saved in Google Drive folder.
- Single GPU Training:
python train.py
- Distributed Training:
CUDA_VISIBLE_DEVICES=0,1 python train.py
python test.py
- Multi-head Attention
- VGG19/VGG16/VGG13/VGG11 with/without batch normalization
- Deep Residual Neural Network ('resnet18', 'resnet34', 'resnet50')
- Wide Residual Networks ('wideresnet28_10') imported from the repository
- Dual Path Networks from arxiv
- Densely Connected Convolutional Networks from arxiv
โโโ kws
โย ย โโโ metrics
โย ย โย ย โโโ fnr_fpr.py
โย ย โย ย โโโ init.py
โย ย โโโ models
โย ย โย ย โโโ attention.py
โย ย โย ย โโโ crnn.py
โย ย โย ย โโโ densenet.py
โย ย โย ย โโโ dpn.py
โย ย โย ย โโโ init.py
โย ย โย ย โโโ resnet.py
โย ย โย ย โโโ resnext.py
โย ย โย ย โโโ treasure_net.py
โย ย โย ย โโโ vgg.py
โย ย โย ย โโโ wideresnet.py
โย ย โโโ transforms
โย ย โโโ utils.py
โโโ config.py
- ./kws/metrics : Evaluation matrics, defining the False Rejection Rate (FRR) and False Alarm Rate (FAR) for keyword spotting
- ./kws/models : Diffferent network architecture
- .config.py : Configuration about parameters and hyperparameters