1] Baseline model**:**

FullModel( (CRNN_model): CRNN( (sepconv): Sequential( (0): Conv1d(40, 40, kernel_size=(5,), stride=(2,), groups=40) (1): Conv1d(40, 128, kernel_size=(1,), stride=(8,), groups=2) ) (gru): GRU(128, 128, num_layers=2, dropout=0.1, bidirectional=True) ) (attn_layer): AttnMech( (Wx_b): Linear(in_features=256, out_features=256, bias=True) (Vt): Linear(in_features=256, out_features=1, bias=False) ) (U): Linear(in_features=256, out_features=2, bias=False) )

Train/test results: [with 2direct gru] wandb link

Train results [with 1direct gru] wandb link

Baseline test results on the val subset

2] Post-training quantization experiments:

1] Dynamic quantization by PyTorch API link, (Note: dynamic quantization available only on CPU) available blocks: GRU, Linear

Test df: val_df * 5 - for more stable test

torch.jit.script was applied after dynamic quantization.

Test dynamic quantized models [CPU] bidirectional gru

Test dynamic quantized models [CPU] unidirectional gru

2] Static quantization by PyTorch API link, (Note: static ****quantization available only on CPU) available blocks: Conv, Linear

Test df: val_df * 5 - for more stable test

Test static quantized models [CPU] unidirectional gru

Here base model was updated...

Train results: wandb_link

Path: saved/models/kws_sheila_crnn/1115_144515/model_acc_0.99_epoch_30.pth