Keras模型解释工具箱。
keras-explain的Python项目详细描述
Keras解释
此软件包包含用于解释的大多数解释工具 凯拉斯模型预测。目前,只有输入图像的模型 支持。 它支持以下方法:
梯度法:
与模型无关的方法:
所有方法都很容易在两行代码中应用到您的模型。 如果你对包中包含的新方法有任何建议 请毫不犹豫地提出建议。也欢迎所有改进建议、错误报告和错误修复。
目前,我们正在实施以下方法:
- Fong等人的有意义扰动
- 分层关联传播-我们正在添加不受支持的层 然而。
用法
梯度法
梯度凸轮from keras_explain.grad_cam import GradCam
explainer = GradCam(model, layer=None)
exp = explainer.explain(image, target_class)
参数:
模型
-解释的Keras模型图像
-输入解释的预测目标类
-方法解释目标类的预测层
-(可选)层的索引(model.layers中的索引) 预言被解释了。 如果未指定,则自动解释最后一层预测。
输出:
exp
-解释。Gradcam标记仅用于 目标类中的分类
导向梯度凸轮
from keras_explain.grad_cam import GuidedGradCam
explainer = GuidedGradCam(model, lyer=None)
exp = explainer.explain(image, target_class)
from keras_explain.grad_cam import GuidedGradCam
explainer = GuidedGradCam(model, lyer=None)
exp = explainer.explain(image, target_class)
参数:
模型
-解释的Keras模型图像
-输入解释的预测目标类
-方法解释目标类的预测层
-(可选)层的索引(model.layers中的索引) 预言被解释了。 如果未指定,则自动解释最后一层预测。
输出:
exp
-解释。GuidedGradCam仅标记有助于 目标类中的分类
引导反向传播
from keras_explain.guided_bp import GuidedBP
explainer = GuidedBP(model)
exp = explainer.explain(image, target_class)
from keras_explain.guided_bp import GuidedBP
explainer = GuidedBP(model)
exp = explainer.explain(image, target_class)
参数:
模型
-解释的Keras模型图像
-输入解释的预测目标类
-方法解释目标类的预测
输出:
exp
-解释。引导反向传播标记仅具有 为目标类中的分类做出贡献
综合梯度
from keras_explain.integrated_gradients import IntegratedGradients
explainer = IntegratedGradients(model)
exp = explainer.explain(image, target_class)
from keras_explain.integrated_gradients import IntegratedGradients
explainer = IntegratedGradients(model)
exp = explainer.explain(image, target_class)
参数:
模型
-解释的Keras模型图像
-输入解释的预测目标类
-方法解释目标类的预测
输出:
exp
-解释。集成渐变只标记有助于 目标类中的分类
显著性
from keras_explain.saliency import Saliency
explainer = Saliency(model, layer=None)
exp = explainer.explain(image, target_class)
PAR计量器:
模型
-解释的Keras模型图像
-输入解释的预测目标类
-方法解释目标类的预测层
-(可选)层的索引(model.layers中的索引) 预言被解释了。 如果未指定,则自动解释最后一层预测。
输出:
exp
-解释。显著性标记仅用于有助于 目标类中的分类
分层相关传播[beta]
这种方法还不支持所有层。我们目前正在实施 缺少层。如果你希望你可以实现任何层支持你自己 作为请求提交。因为实现是非常定制的 欢迎提出改进建议。
from keras_explain.lrp import LRP
explainer = LRP(model)
exp = explainer.explain(image, target_class)
参数:
模型
-解释的Keras模型图像
-输入解释的预测目标类
-方法解释目标类的预测
输出:
exp
-解释。LRP仅标记有助于 目标类中的分类
###与模型无关的方法
预测差异
from keras_explain.prediction_diff import PredictionDiff
explainer = PredictionDiff(model)
exp_pos, exp_neg = explainer.explain(image, target_class)
参数:
模型
-解释的Keras模型图像
-输入解释的预测目标类
-方法解释目标类的预测
输出:
exp_pos
-带有标记功能的说明 目标类中的分类exp_neg
-带有标记特征的说明 根据目标类中的分类
基本灰显
from keras_explain.graying_out import GrayingOut
explainer = GrayingOut(model)
exp_pos, exp_neg = explainer.explain(image, target_class)
参数:
模型
-解释的Keras模型图像
-输入解释的预测目标类
-方法解释目标类的预测
输出:
exp_pos
-带有标记功能的说明 目标类中的分类exp_neg
-带有标记特征的说明 根据目标类中的分类
石灰
from keras_explain.lime_ribeiro import Lime
explainer = Lime(model)
exp_pos, exp_neg = explainer.explain(image, target_class)
参数:
模型
-解释的Keras模型图像
-输入解释的预测目标类
-方法解释目标类的预测
输出:
exp_pos
-带有标记功能的说明 目标类中的分类exp_neg
-带有标记特征的说明 根据目标类中的分类