cvqluu / TDNN

Time delay neural network (TDNN) implementation in Pytorch using unfold method

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TDNN

Simple Time Delay Neural Network (TDNN) implementation in Pytorch. Uses the unfold method to slide over an input sequence.

Alt text [1] https://www.danielpovey.com/files/2015_interspeech_multisplice.pdf

Factorized TDNN (TDNN-F)

I've also implemented the Factorized TDNN from Kaldi (TDNN-F) in PyTorch here: https://github.com/cvqluu/Factorized-TDNN

Usage

To recreate the TDNN part of the x-vector network in [2]:

from tdnn import TDNN

# Assuming 24 dim MFCCs per frame

frame1 = TDNN(input_dim=24, output_dim=512, context_size=5, dilation=1)
frame2 = TDNN(input_dim=512, output_dim=512, context_size=3, dilation=2)
frame3 = TDNN(input_dim=512, output_dim=512, context_size=3, dilation=3)
frame4 = TDNN(input_dim=512, output_dim=512, context_size=1, dilation=1)
frame5 = TDNN(input_dim=512, output_dim=1500, context_size=1, dilation=1)

# Input to frame1 is of shape (batch_size, T, 24)
# Output of frame5 will be (batch_size, T-14, 1500)

Alt text [2] https://www.danielpovey.com/files/2018_icassp_xvectors.pdf

About

Time delay neural network (TDNN) implementation in Pytorch using unfold method


Languages

Language:Python 100.0%