diff --git a/docs/apis/visualize.md b/docs/apis/visualize.md index 8a253fc04310f43b8e424729e7d75f2712e8dc19..c4dba1c1846b2a223bdc9e5464ff2af8c6d5a6dd 100755 --- a/docs/apis/visualize.md +++ b/docs/apis/visualize.md @@ -124,7 +124,11 @@ paddlex.interpret.visualize(img_file, batch_size=50, save_dir='./') ``` -将模型预测结果的可解释性可视化,目前只支持分类模型。 +将模型预测结果的可解释性可视化,支持LIME和NormLIME两种可解释性算法。 +LIME表示与模型无关的局部可解释性,可以解释任何模型。LIME的思想是以输入样本为中心,在其附近的空间中进行随机采样,每个采样通过原模型得到新的输出,这样得到一系列的输入和对应的输出,LIME用一个简单的、可解释的模型(比如线性回归模型)来拟合这个映射关系,得到每个输入维度的权重,以此来解释模型。 +NormLIME则是利用一定数量的样本来出一个全局的解释。NormLIME会提前计算一定数量的测试样本的LIME结果,然后对相同的特征进行权重的归一化,这样来得到一个全局的输入和输出的关系。 + +**注意:** 可解释性结果可视化目前只支持分类模型。 ### 参数 >* **img_file** (str): 预测图像路径。 @@ -135,6 +139,6 @@ paddlex.interpret.visualize(img_file, >* **batch_size** (int): 预测数据batch大小,默认为50。 >* **save_dir** (str): 可解释性可视化结果(保存为png格式文件)和中间文件存储路径。 - +**注意:** `dataset`参数只有在`algo`为"normlime"的情况下才使用,`dataset`读取的是一个数据集,该数据集不宜过大,否则计算时间会较长,但应包含所有类别的数据。 ### 使用示例 > 对预测可解释性结果可视化的过程可参见[代码](https://github.com/PaddlePaddle/PaddleX/blob/develop/tutorials/interpret/interpret.py)。 diff --git a/paddlex/interpret/visualize.py b/paddlex/interpret/visualize.py index 1b2e12110efef909abe18a18463bc8e2417d83df..7d86073579af127289e103b14412b993028d99eb 100644 --- a/paddlex/interpret/visualize.py +++ b/paddlex/interpret/visualize.py @@ -31,6 +31,18 @@ def visualize(img_file, batch_size=50, save_dir='./'): """可解释性可视化。 + + 将模型预测结果的可解释性可视化,支持LIME和NormLIME两种可解释性算法。 + LIME表示与模型无关的局部可解释性,可以解释任何模型。LIME的思想是以输入样本为中心, + 在其附近的空间中进行随机采样,每个采样通过原模型得到新的输出,这样得到一系列的输入 + 和对应的输出,LIME用一个简单的、可解释的模型(比如线性回归模型)来拟合这个映射关系, + 得到每个输入维度的权重,以此来解释模型。 + NormLIME则是利用一定数量的样本来出一个全局的解释。NormLIME会提前计算一定数量的测 + 试样本的LIME结果,然后对相同的特征进行权重的归一化,这样来得到一个全局的输入和输出的关系。 + + 注意:dataset参数只有在algo为"normlime"的情况下才使用,dataset读取的是一个数据集, + 该数据集不宜过大,否则计算时间会较长,但应包含所有类别的数据。 + Args: img_file (str): 预测图像路径。 model (paddlex.cv.models): paddlex中的模型。