marcoancona / DeepExplain

A unified framework of perturbation and gradient-based attribution methods for Deep Neural Networks interpretability. DeepExplain also includes support for Shapley Values sampling. (ICLR 2018)
https://arxiv.org/abs/1711.06104
MIT License
720 stars 133 forks source link

"None values not supported" in a standard LSTM network (DeepSpeech) #63

Open RomainParracone opened 3 years ago

RomainParracone commented 3 years ago

Hello,

I am trying to use DeepExplain on DeepSpeech and I ran into the "None values not supported" error even though I am using input and target tensors that are part of a standard LSTM network. Is there any common pitfall I might have fallen into?

To give you a bit more context, DeepSpeech performs Speech to Text transcription and its architecture is split in 3 main parts:

Some details are provided here: https://deepspeech.readthedocs.io/en/v0.6.1/DeepSpeech.html

In my case I am working on the second part only, trying to compute attributions with target_tensor = NN output (softmax) and input_tensor = NN input (MFCC features). I am pretty sure that my target and input tensors are connected in the backpropagation and that I am not making the error mentioned in the "NLP / Embedding lookups" section of the readme.

Is there a known reason for this error to happen in this case? Could it be caused by the network architecture (LSTM) or the fact that the network has two input tensors?

Thank you and best, Romain