Skip to main content

Posts

Showing posts from October, 2017

kaldi editing nnet3 chain model - adding a softmax layer on top of the chain output

I had to do one more thing: to edit a trained  kaldi  nnet3 chain model and add a softmax layer on top of the chain model. The reason for this is to get "probability" like output directly from the chain model First, let's look at the nnet structure: nnet3-am-info final.mdl input-dim: 20 ivector-dim: -1 num-pdfs: 6105 prior-dimension: 0 # Nnet info follows. left-context: 15 right-context: 15 num-parameters: 15499085 modulus: 1 input-node name=input dim=20 component-node name=L0_fixaffine component=L0_fixaffine input=Append(Offset(input, -1), input, Offset(input, 1)) input-dim=60 output-dim=60 component-node name=Tdnn_0_affine component=Tdnn_0_affine input=L0_fixaffine input-dim=60 output-dim=625 component-node name=Tdnn_0_relu component=Tdnn_0_relu input=Tdnn_0_affine input-dim=625 output-dim=625 component-node name=Tdnn_0_renorm component=Tdnn_0_renorm input=Tdnn_0_relu input-dim=625 output-dim=625 component-node name=Tdnn_1_affine component=Tdnn_1_affi

kaldi editing nnet3 chain model - using the auxiliary xent output as the main output

I had a task to edit a trained kaldi  nnet3 chain model so that the output node is the output-xent instead the original output. First, let's look at the nnet structure: nnet3-am-info final.mdl input-dim: 20 ivector-dim: -1 num-pdfs: 6105 prior-dimension: 0 # Nnet info follows. left-context: 15 right-context: 15 num-parameters: 15499085 modulus: 1 input-node name=input dim=20 component-node name=L0_fixaffine component=L0_fixaffine input=Append(Offset(input, -1), input, Offset(input, 1)) input-dim=60 output-dim=60 component-node name=Tdnn_0_affine component=Tdnn_0_affine input=L0_fixaffine input-dim=60 output-dim=625 component-node name=Tdnn_0_relu component=Tdnn_0_relu input=Tdnn_0_affine input-dim=625 output-dim=625 component-node name=Tdnn_0_renorm component=Tdnn_0_renorm input=Tdnn_0_relu input-dim=625 output-dim=625 component-node name=Tdnn_1_affine component=Tdnn_1_affine input=Append(Offset(Tdnn_0_renorm, -1), Tdnn_0_renorm, Offset(Tdnn_0_renorm, 1)) input-d