代码之家  ›  专栏  ›  技术社区  ›  Venkatachalam

clipbyValue不在tf_ops._gradient_注册表中。shap包的注册表中

  •  2
  • Venkatachalam  · 技术社区  · 7 年前

    我试着从下面的使用Python中的shap包的示例中解释深度学习模型。 https://slundberg.github.io/shap/notebooks/Front%20Page%20DeepExplainer%20MNIST%20Example.html

    当我调用explainer.shap_值(test[:2])时,得到一个keyError-clipbyValue。

    显然,clipbyValue不在我的tf_ops._gradient_注册表中。

    有什么帮助吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   user1979000    7 年前

    我今天也遇到了这个问题。

    在我的调查中,我把这个问题孤立在了夏普内部。v0.19.3版本工作正常,但v0.19.4版本不是因为clipbyValue不存在-对于标签v0.19.3,clipbyValue不在非线性项中列出: https://github.com/slundberg/shap/blob/V0.19.3/shap/explainers/deep.py#L44 . 因此,这个特定的示例似乎从未使用clipbyValue包含在所述数组中。

    为了解决这个问题,我将requirements.txt中的shap==v0.21.0替换为

    -电子邮箱git://github.com/slundberg/shap.git@48bc3a7f8fa9465be778ecef14d4de8604275f7f egg=shap

    然后,在我的python virtualenv中,导航到克隆的文件夹,签出一个新的分支,然后将deep.py for tag v0.19.3的版本粘贴到当前的版本之上。不过有点像黑客…

    不确定如何正确解决这个问题。

    推荐文章