"LookupError: gradient registry has no entry for: shap_TensorListStack" 使用 DeepExplainer for Keras



在为Keras序列模型使用DeepExplainer进行多类文本分类时,我收到以下错误。请查看以下详细信息:

##KERAS版本:2.4.3。

##模型

model = Sequential()
model.add(InputLayer (input_shape= (max_len ,)))
model.add(Embedding (vocab_size +1 , embed_dim , input_length= max_len, weights[embed_matrix]))
model.add(LSTM (LSTM_unit , dropout= dropouts, recurrent_dropout=dropouts,return_sequences=False))
model.add(Dense (6 , activation="softmax"))
##DEEPEXPLAINER
explainer = shap.DeepExplainer(model, X_train[:100], learning_phase_flags = None)
shap_values = explainer.shap_values(X_test[:10])

错误

LookupError: gradient registry has no entry for: shap_TensorListStack

请帮我解决这个问题。我已经尝试了存储库中提到的问题中提供的所有可能的解决方案,但无法解决此错误。

谨致问候,Meghna Goyal

此错误是由于;shap";您正在使用的程序包。它需要一组特定的包才能工作:

  • TensorFlow 1.14
  • Python 3.7
  • Protobuf 3.20
  • 下午5点10分
import tensorflow as tf
import sys
import google.protobuf
import h5py

assert tf.__version__ == '1.14.0'
assert sys.version_info[0] == 3 and sys.version_info[1] == 7
assert google.protobuf.__version__ == '3.20.0'
assert h5py.__version__ == '2.10.0'

参考编号:https://github.com/slundberg/shap/issues/1490#issuecomment-1368185975

相关内容

  • 没有找到相关文章