一个有助于分析神经模型隐藏激活的广泛工具的库。

diagNNose的Python项目详细描述


诊断·Build StatusCode style: black

这个库包含一组模块,可以用来分析神经网络的激活,重点是NLP架构,如LSTMs和Transformers。 特别是,它包含以下功能:

:tada:diagNNose已在BlackboxNLP 2020呈现!这张纸可以找到here。在

文档可在diagnnose.readthedocs.io找到。在

我们的库是在pip上正式注册的,可以通过运行pip install diagnnose进行安装。 Python的首选版本是≥3.6。所需的包在^{}中说明。在

快速游览

diagNNose的工作流程被分为几个构建块,可以组合起来进行各种实验。在

我们提供了几个示例来演示这个库。 {a1}还为这些脚本提供了一个交互式窗体

活化提取

模型的激活可以使用一个Extractor来提取,它负责批处理和选择感兴趣的激活。在

细粒度的激活选择可以通过定义selection_func,它基于当前句子索引和语料库项来选择激活。在

fromtorchtext.dataimportExamplefromdiagnnose.configimportcreate_config_dictfromdiagnnose.corpusimportCorpusfromdiagnnose.extractimportExtractorfromdiagnnose.modelsimportLanguageModel,import_modelfromdiagnnose.tokenizer.createimportcreate_tokenizerif__name__=="__main__":config_dict=create_config_dict()tokenizer=create_tokenizer(**config_dict["tokenizer"])corpus:Corpus=Corpus.create(tokenizer=tokenizer,**config_dict["corpus"])model:LanguageModel=import_model(**config_dict["model"])defselection_func(w_idx:int,item:Example)->bool:returnw_idx==item.extraction_idxextractor=Extractor(model,corpus,selection_func=selection_func,**config_dict["extract"])activation_reader=extractor.extract()

使用diagNNose

进行研究

引用

如果您打算使用diagNNose进行研究,请引用如下。请随时伸出援手,我们很乐意帮助您!在

^{pr2}$

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JAXB封送字符串,具有xml值,且不转义该值   java ModelMapper转换器不工作   java像HH000412或HCANN000001这样的前缀是什么意思?   验证日期输入修复java。lang.numberformatexception错误   当表具有外键时,java Telosys代码生成失败   如何使所有派生类一起只能实例化一个实例的单例抽象基类?(爪哇)   java如何在非静态服务类中使用广播接收器   java nutch爬虫相对URL问题   使用Jboss DMR下载/保存java附件   Rest模板:无法提取响应:当我们得到xml响应时,没有找到适合响应类型的HttpMessageConverter,没有绑定到JAVA对象   java如何编写可扩展窗格/面板/卡的代码   java是在ITreeViewerListener的treeExpanded()之前调用ContentProvider的getChildren()吗?   java将JComponent添加到小程序窗格   java混淆:使用简单逻辑的Flames程序