Shap 包的 tf_ops._gradient_registry._registry 中不存在 ClipByValue
ClipByValue not present in tf_ops._gradient_registry._registry for Shap package
我尝试使用 python 中 shap
包的 this 示例来解释我的深度学习模型。
当我调用 explainer.shap_values(test[:2])
时,我收到一个键错误 - ClipByValue。
显然 ClipByValue 在我的 tf_ops._gradient_registry._registry
中不存在。
我今天也遇到了这个问题。
在我的调查中,我在 Shap 中隔离了这个问题。 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 替换为
-e git://github.com/slundberg/shap.git@48bc3a7f8fa9465be778ecef14d4de8604275f7f#egg=shap
然后,在我的 python virtualenv 中,导航到克隆的文件夹,签出一个新分支,然后将标签 V0.19.3 的 deep.py 版本粘贴到原来的内容之上目前那里。虽然有点黑客......
不确定如何正确解决这个问题。
我尝试使用 python 中 shap
包的 this 示例来解释我的深度学习模型。
当我调用 explainer.shap_values(test[:2])
时,我收到一个键错误 - ClipByValue。
显然 ClipByValue 在我的 tf_ops._gradient_registry._registry
中不存在。
我今天也遇到了这个问题。
在我的调查中,我在 Shap 中隔离了这个问题。 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 替换为
-e git://github.com/slundberg/shap.git@48bc3a7f8fa9465be778ecef14d4de8604275f7f#egg=shap
然后,在我的 python virtualenv 中,导航到克隆的文件夹,签出一个新分支,然后将标签 V0.19.3 的 deep.py 版本粘贴到原来的内容之上目前那里。虽然有点黑客......
不确定如何正确解决这个问题。