In attempting to debug AM adaptation I am also trying to work from GMM as well as NNET alignments. I got a little further with this route (or so I thought) but now I see the message:
LOG (nnet3-chain-train[5.5.811~1-bcd163]:ExplainWhyAllOutputsNotComputable():nnet-computation-graph.cc:351) 200 output cindexes out of 200 were not computable.
I have no idea what this means. I am sure I am doing something stupid but I have no idea what that is. Could you give me some hints at least where to look?
nnet3-chain-train --use-gpu=yes --apply-deriv-weights=False --l2-regularize=5e-05 --leaky-hmm-coefficient=0.1 --write-cache=exp/chain/tdnn_librispeech_malach_1b/cache.1 --xent-regularize=0.1 --print-interval=10 --momentum=0.0 --max-param-change=1.41421356237 --backstitch-training-scale=0.0 --backstitch-training-interval=1 --l2-regularize-factor=1.0 --srand=0 'nnet3-am-copy --raw=true --learning-rate=0.005 --scale=1.0 exp/chain/tdnn_librispeech_malach_1b/0.mdl - |' exp/chain/tdnn_librispeech_malach_1b/den.fst 'ark,bg:nnet3-chain-copy-egs --frame-shift=1 ark:exp/chain/tdnn_librispeech_malach_1b/egs/cegs.1.ark ark:- | nnet3-chain-shuffle-egs --buffer-size=5000 --srand=0 ark:- ark:- | nnet3-chain-merge-egs --minibatch-size=64 ark:- ark:- |' exp/chain/tdnn_librispeech_malach_1b/1.1.raw
WARNING (nnet3-chain-train[5.5.811~1-bcd163]:SelectGpuId():cu-device.cc:228) Not in compute-exclusive mode. Suggestion: use 'nvidia-smi -c 3' to set compute exclusive mode
LOG (nnet3-chain-train[5.5.811~1-bcd163]:SelectGpuIdAuto():cu-device.cc:408) Selecting from 1 GPUs
LOG (nnet3-chain-train[5.5.811~1-bcd163]:SelectGpuIdAuto():cu-device.cc:423) cudaSetDevice(0): GeForce RTX 2080 Ti free:10852M, used:167M, total:11019M, free/total:0.984828
LOG (nnet3-chain-train[5.5.811~1-bcd163]:SelectGpuIdAuto():cu-device.cc:471) Device: 0, mem_ratio: 0.984828
LOG (nnet3-chain-train[5.5.811~1-bcd163]:SelectGpuId():cu-device.cc:352) Trying to select device: 0
LOG (nnet3-chain-train[5.5.811~1-bcd163]:SelectGpuIdAuto():cu-device.cc:481) Success selecting device 0 free mem ratio: 0.984828
LOG (nnet3-chain-train[5.5.811~1-bcd163]:FinalizeActiveGpu():cu-device.cc:308) The active GPU is [0]: GeForce RTX 2080 Ti free:10610M, used:409M, total:11019M, free/total:0.962867 version 7.5
nnet3-am-copy --raw=true --learning-rate=0.005 --scale=1.0 exp/chain/tdnn_librispeech_malach_1b/0.mdl -
LOG (nnet3-am-copy[5.5.811~1-bcd163]:main():nnet3-am-copy.cc:153) Copied neural net from exp/chain/tdnn_librispeech_malach_1b/0.mdl to raw format as -
nnet3-chain-shuffle-egs --buffer-size=5000 --srand=0 ark:- ark:-
nnet3-chain-merge-egs --minibatch-size=64 ark:- ark:-
nnet3-chain-copy-egs --frame-shift=1 ark:exp/chain/tdnn_librispeech_malach_1b/egs/cegs.1.ark ark:-
LOG (nnet3-chain-train[5.5.811~1-bcd163]:ExplainWhyAllOutputsNotComputable():nnet-computation-graph.cc:351) 200 output cindexes out of 200 were not computable.
LOG (nnet3-chain-train[5.5.811~1-bcd163]:ExplainWhyAllOutputsNotComputable():nnet-computation-graph.cc:355) Computation request was: # Computation request:
input-0: name=input, has-deriv=false, indexes=[(0,-40:191), (1,-40:191)]
output-0: name=output, has-deriv=true, indexes=[(0,0), (1,0), (0,3), (1,3), (0,6), (1,6), (0,9), (1,9), (0,12), (1,12), (0,15), (1,15), (0,18), (1, ... , (1,132), (0,135), (1,135), (0,138), (1,138), (0,141), (1,141), (0,144), (1,144), (0,147), (1,147)]
output-1: name=output-xent, has-deriv=true, indexes=[(0,0), (1,0), (0,3), (1,3), (0,6), (1,6), (0,9), (1,9), (0,12), (1,12), (0,15), (1,15), (0,18), (1, ... , (1,132), (0,135), (1,135), (0,138), (1,138), (0,141), (1,141), (0,144), (1,144), (0,147), (1,147)]
need-model-derivative: true
store-component-stats: true
LOG (nnet3-chain-train[5.5.811~1-bcd163]:ExplainWhyAllOutputsNotComputable():nnet-computation-graph.cc:357) Printing the reasons for 10 of these.
LOG (nnet3-chain-train[5.5.811~1-bcd163]:ExplainWhyNotComputable():nnet-computation-graph.cc:172) *** cindex output(0, 0, 0) is not computable for the following reason: ***
output(0, 0, 0) is kNotComputable, dependencies: output.affine(0, 0, 0)[kNotComputable],
output.affine(0, 0, 0) is kNotComputable, dependencies: output.affine_input(0, 0, 0)[kNotComputable],
output.affine_input(0, 0, 0) is kNotComputable, dependencies: prefinal-chain.batchnorm2(0, 0, 0)[kNotComputable],
prefinal-chain.batchnorm2(0, 0, 0) is kNotComputable, dependencies: prefinal-chain.batchnorm2_input(0, 0, 0)[kNotComputable],
prefinal-chain.batchnorm2_input(0, 0, 0) is kNotComputable, dependencies: prefinal-chain.linear(0, 0, 0)[kNotComputable],
prefinal-chain.linear(0, 0, 0) is kNotComputable, dependencies: prefinal-chain.linear_input(0, 0, 0)[kNotComputable],
prefinal-chain.linear_input(0, 0, 0) is kNotComputable, dependencies: prefinal-chain.batchnorm1(0, 0, 0)[kNotComputable],
prefinal-chain.batchnorm1(0, 0, 0) is kNotComputable, dependencies: prefinal-chain.batchnorm1_input(0, 0, 0)[kNotComputable],
prefinal-chain.batchnorm1_input(0, 0, 0) is kNotComputable, dependencies: prefinal-chain.relu(0, 0, 0)[kNotComputable],
prefinal-chain.relu(0, 0, 0) is kNotComputable, dependencies: prefinal-chain.relu_input(0, 0, 0)[kNotComputable],
prefinal-chain.relu_input(0, 0, 0) is kNotComputable, dependencies: prefinal-chain.affine(0, 0, 0)[kNotComputable],
prefinal-chain.affine(0, 0, 0) is kNotComputable, dependencies: prefinal-chain.affine_input(0, 0, 0)[kNotComputable],
prefinal-chain.affine_input(0, 0, 0) is kNotComputable, dependencies: prefinal-l(0, 0, 0)[kNotComputable],
prefinal-l(0, 0, 0) is kNotComputable, dependencies: prefinal-l_input(0, 0, 0)[kNotComputable],
prefinal-l_input(0, 0, 0) is kNotComputable, dependencies: tdnnf17.noop(0, 0, 0)[kNotComputable],
tdnnf17.noop(0, 0, 0) is kNotComputable, dependencies: tdnnf17.noop_input(0, 0, 0)[kNotComputable],
tdnnf17.noop_input(0, 0, 0) is kNotComputable, dependencies: tdnnf16.noop(0, 0, 0)[kNotComputable]tdnnf17.dropout(0, 0, 0)[kUnknown],
tdnnf16.noop(0, 0, 0) is kNotComputable, dependencies: tdnnf16.noop_input(0, 0, 0)[kNotComputable],
tdnnf17.dropout(0, 0, 0) is kUnknown, dependencies: tdnnf17.dropout_input(0, 0, 0)[kUnknown],
tdnnf16.noop_input(0, 0, 0) is kNotComputable, dependencies: tdnnf15.noop(0, 0, 0)[kNotComputable]tdnnf16.dropout(0, 0, 0)[kUnknown],
tdnnf17.dropout_input(0, 0, 0) is kUnknown, dependencies: tdnnf17.batchnorm(0, 0, 0)[kUnknown],
tdnnf15.noop(0, 0, 0) is kNotComputable, dependencies: tdnnf15.noop_input(0, 0, 0)[kNotComputable],
tdnnf16.dropout(0, 0, 0) is kUnknown, dependencies: tdnnf16.dropout_input(0, 0, 0)[kUnknown],
tdnnf17.batchnorm(0, 0, 0) is kUnknown, dependencies: tdnnf17.batchnorm_input(0, 0, 0)[kUnknown],
tdnnf15.noop_input(0, 0, 0) is kNotComputable, dependencies: tdnnf14.noop(0, 0, 0)[kNotComputable]tdnnf15.dropout(0, 0, 0)[kUnknown],
tdnnf16.dropout_input(0, 0, 0) is kUnknown, dependencies: tdnnf16.batchnorm(0, 0, 0)[kUnknown],
tdnnf17.batchnorm_input(0, 0, 0) is kUnknown, dependencies: tdnnf17.relu(0, 0, 0)[kUnknown],
tdnnf14.noop(0, 0, 0) is kNotComputable, dependencies: tdnnf14.noop_input(0, 0, 0)[kNotComputable],
tdnnf15.dropout(0, 0, 0) is kUnknown, dependencies: tdnnf15.dropout_input(0, 0, 0)[kUnknown],
tdnnf16.batchnorm(0, 0, 0) is kUnknown, dependencies: tdnnf16.batchnorm_input(0, 0, 0)[kUnknown],
tdnnf17.relu(0, 0, 0) is kUnknown, dependencies: tdnnf17.relu_input(0, 0, 0)[kUnknown],
tdnnf14.noop_input(0, 0, 0) is kNotComputable, dependencies: tdnnf13.noop(0, 0, 0)[kNotComputable]tdnnf14.dropout(0, 0, 0)[kUnknown],
tdnnf15.dropout_input(0, 0, 0) is kUnknown, dependencies: tdnnf15.batchnorm(0, 0, 0)[kUnknown],
tdnnf16.batchnorm_input(0, 0, 0) is kUnknown, dependencies: tdnnf16.relu(0, 0, 0)[kUnknown],
tdnnf17.relu_input(0, 0, 0) is kUnknown, dependencies: tdnnf17.affine(0, 0, 0)[kUnknown],
tdnnf13.noop(0, 0, 0) is kNotComputable, dependencies: tdnnf13.noop_input(0, 0, 0)[kNotComputable],
tdnnf14.dropout(0, 0, 0) is kUnknown, dependencies: tdnnf14.dropout_input(0, 0, 0)[kUnknown],
tdnnf15.batchnorm(0, 0, 0) is kUnknown, dependencies: tdnnf15.batchnorm_input(0, 0, 0)[kUnknown],
tdnnf16.relu(0, 0, 0) is kUnknown, dependencies: tdnnf16.relu_input(0, 0, 0)[kUnknown],
tdnnf17.affine(0, 0, 0) is kUnknown, dependencies: tdnnf17.affine_input(0, 0, 0)[kUnknown]tdnnf17.affine_input(0, 3, 0)[kUnknown],
tdnnf13.noop_input(0, 0, 0) is kNotComputable, dependencies: tdnnf12.noop(0, 0, 0)[kNotComputable]tdnnf13.dropout(0, 0, 0)[kUnknown],
tdnnf14.dropout_input(0, 0, 0) is kUnknown, dependencies: tdnnf14.batchnorm(0, 0, 0)[kUnknown],
tdnnf15.batchnorm_input(0, 0, 0) is kUnknown, dependencies: tdnnf15.relu(0, 0, 0)[kUnknown],
tdnnf16.relu_input(0, 0, 0) is kUnknown, dependencies: tdnnf16.affine(0, 0, 0)[kUnknown],
tdnnf17.affine_input(0, 0, 0) is kUnknown, dependencies: tdnnf17.linear(0, 0, 0)[kUnknown],
tdnnf17.affine_input(0, 3, 0) is kUnknown, dependencies: tdnnf17.linear(0, 3, 0)[kUnknown],
tdnnf12.noop(0, 0, 0) is kNotComputable, dependencies: tdnnf12.noop_input(0, 0, 0)[kNotComputable],
tdnnf13.dropout(0, 0, 0) is kUnknown, dependencies: tdnnf13.dropout_input(0, 0, 0)[kUnknown],
tdnnf14.batchnorm(0, 0, 0) is kUnknown, dependencies: tdnnf14.batchnorm_input(0, 0, 0)[kUnknown],
tdnnf15.relu(0, 0, 0) is kUnknown, dependencies: tdnnf15.relu_input(0, 0, 0)[kUnknown],
tdnnf16.affine(0, 0, 0) is kUnknown, dependencies: tdnnf16.affine_input(0, 0, 0)[kNotComputable]tdnnf16.affine_input(0, 3, 0)[kUnknown],
tdnnf17.linear(0, 0, 0) is kUnknown, dependencies: tdnnf17.linear_input(0, -3, 0)[kUnknown]tdnnf17.linear_input(0, 0, 0)[kNotComputable],
tdnnf17.linear(0, 3, 0) is kUnknown, dependencies: tdnnf17.linear_input(0, 0, 0)[kNotComputable]tdnnf17.linear_input(0, 3, 0)[kNotComputable],
tdnnf12.noop_input(0, 0, 0) is kNotComputable, dependencies: tdnnf11.noop(0, 0, 0)[kNotComputable]tdnnf12.dropout(0, 0, 0)[kUnknown],
tdnnf13.dropout_input(0, 0, 0) is kUnknown, dependencies: tdnnf13.batchnorm(0, 0, 0)[kUnknown],
tdnnf14.batchnorm_input(0, 0, 0) is kUnknown, dependencies: tdnnf14.relu(0, 0, 0)[kUnknown],
tdnnf15.relu_input(0, 0, 0) is kUnknown, dependencies: tdnnf15.affine(0, 0, 0)[kUnknown],
tdnnf16.affine_input(0, 0, 0) is kNotComputable, dependencies: tdnnf16.linear(0, 0, 0)[kNotComputable],
tdnnf16.affine_input(0, 3, 0) is kUnknown, dependencies: tdnnf16.linear(0, 3, 0)[kUnknown],
tdnnf17.linear_input(0, -3, 0) is kUnknown, dependencies: tdnnf16.noop(0, -3, 0)[kUnknown],
tdnnf17.linear_input(0, 0, 0) is kNotComputable, dependencies: tdnnf16.noop(0, 0, 0)[kNotComputable],
tdnnf17.linear_input(0, 3, 0) is kNotComputable, dependencies: tdnnf16.noop(0, 3, 0)[kNotComputable],
tdnnf11.noop(0, 0, 0) is kNotComputable, dependencies: tdnnf11.noop_input(0, 0, 0)[kNotComputable],
tdnnf12.dropout(0, 0, 0) is kUnknown, dependencies: tdnnf12.dropout_input(0, 0, 0)[kUnknown],
tdnnf13.batchnorm(0, 0, 0) is kUnknown, dependencies: tdnnf13.batchnorm_input(0, 0, 0)[kUnknown],
tdnnf14.relu(0, 0, 0) is kUnknown, dependencies: tdnnf14.relu_input(0, 0, 0)[kUnknown],
tdnnf15.affine(0, 0, 0) is kUnknown, dependencies: tdnnf15.affine_input(0, 0, 0)[kNotComputable]tdnnf15.affine_input(0, 3, 0)[kUnknown],
tdnnf16.linear(0, 0, 0) is kNotComputable, dependencies: tdnnf16.linear_input(0, -3, 0)[kUnknown]tdnnf16.linear_input(0, 0, 0)[kNotComputable],
tdnnf16.linear(0, 3, 0) is kUnknown, dependencies: tdnnf16.linear_input(0, 0, 0)[kNotComputable]tdnnf16.linear_input(0, 3, 0)[kNotComputable],
tdnnf16.noop(0, -3, 0) is kUnknown, dependencies: tdnnf16.noop_input(0, -3, 0)[kUnknown],
tdnnf16.noop(0, 3, 0) is kNotComputable, dependencies: tdnnf16.noop_input(0, 3, 0)[kNotComputable],
tdnnf11.noop_input(0, 0, 0) is kNotComputable, dependencies: tdnnf10.noop(0, 0, 0)[kNotComputable]tdnnf11.dropout(0, 0, 0)[kUnknown],
tdnnf12.dropout_input(0, 0, 0) is kUnknown, dependencies: tdnnf12.batchnorm(0, 0, 0)[kUnknown],
tdnnf13.batchnorm_input(0, 0, 0) is kUnknown, dependencies: tdnnf13.relu(0, 0, 0)[kUnknown],
tdnnf14.relu_input(0, 0, 0) is kUnknown, dependencies: tdnnf14.affine(0, 0, 0)[kUnknown],
tdnnf15.affine_input(0, 0, 0) is kNotComputable, dependencies: tdnnf15.linear(0, 0, 0)[kNotComputable],
tdnnf15.affine_input(0, 3, 0) is kUnknown, dependencies: tdnnf15.linear(0, 3, 0)[kUnknown],
tdnnf16.linear_input(0, -3, 0) is kUnknown, dependencies: tdnnf15.noop(0, -3, 0)[kUnknown],
tdnnf16.linear_input(0, 0, 0) is kNotComputable, dependencies: tdnnf15.noop(0, 0, 0)[kNotComputable],
tdnnf16.linear_input(0, 3, 0) is kNotComputable, dependencies: tdnnf15.noop(0, 3, 0)[kNotComputable],
tdnnf16.noop_input(0, -3, 0) is kUnknown, dependencies: tdnnf15.noop(0, -3, 0)[kUnknown]tdnnf16.dropout(0, -3, 0)[kUnknown],
tdnnf16.noop_input(0, 3, 0) is kNotComputable, dependencies: tdnnf15.noop(0, 3, 0)[kNotComputable]tdnnf16.dropout(0, 3, 0)[kUnknown],
tdnnf10.noop(0, 0, 0) is kNotComputable, dependencies: tdnnf10.noop_input(0, 0, 0)[kNotComputable],
tdnnf11.dropout(0, 0, 0) is kUnknown, dependencies: tdnnf11.dropout_input(0, 0, 0)[kUnknown],
tdnnf12.batchnorm(0, 0, 0) is kUnknown, dependencies: tdnnf12.batchnorm_input(0, 0, 0)[kUnknown],
tdnnf13.relu(0, 0, 0) is kUnknown, dependencies: tdnnf13.relu_input(0, 0, 0)[kUnknown],
tdnnf14.affine(0, 0, 0) is kUnknown, dependencies: tdnnf14.affine_input(0, 0, 0)[kNotComputable]tdnnf14.affine_input(0, 3, 0)[kUnknown],
tdnnf15.linear(0, 0, 0) is kNotComputable, dependencies: tdnnf15.linear_input(0, -3, 0)[kUnknown]tdnnf15.linear_input(0, 0, 0)[kNotComputable],
tdnnf15.linear(0, 3, 0) is kUnknown, dependencies: tdnnf15.linear_input(0, 0, 0)[kNotComputable]tdnnf15.linear_input(0, 3, 0)[kNotComputable],
tdnnf15.noop(0, -3, 0) is kUnknown, dependencies: tdnnf15.noop_input(0, -3, 0)[kUnknown],
tdnnf15.noop(0, 3, 0) is kNotComputable, dependencies: tdnnf15.noop_input(0, 3, 0)[kNotComputable],
tdnnf16.dropout(0, -3, 0) is kUnknown, dependencies: tdnnf16.dropout_input(0, -3, 0)[kUnknown],
tdnnf16.dropout(0, 3, 0) is kUnknown, dependencies: tdnnf16.dropout_input(0, 3, 0)[kUnknown],
tdnnf10.noop_input(0, 0, 0) is kNotComputable, dependencies: tdnnf9.noop(0, 0, 0)[kNotComputable]tdnnf10.dropout(0, 0, 0)[kUnknown],
tdnnf11.dropout_input(0, 0, 0) is kUnknown, dependencies: tdnnf11.batchnorm(0, 0, 0)[kUnknown],
tdnnf12.batchnorm_input(0, 0, 0) is kUnknown, dependencies: tdnnf12.relu(0, 0, 0)[kUnknown],
tdnnf13.relu_input(0, 0, 0) is kUnknown, dependencies: tdnnf13.affine(0, 0, 0)[kUnknown],
tdnnf14.affine_input(0, 0, 0) is kNotComputable, dependencies: tdnnf14.linear(0, 0, 0)[kNotComputable],
tdnnf14.affine_input(0, 3, 0) is kUnknown, dependencies: tdnnf14.linear(0, 3, 0)[kUnknown],
tdnnf15.linear_input(0, -3, 0) is kUnknown, dependencies: tdnnf14.noop(0, -3, 0)[kUnknown],