一个模块化的,配置驱动的知识提炼框架。提供经过训练的模型、训练日志和配置,以确保再现性。

torchdistill的Python项目详细描述


torchdistill:一个模块化的、配置驱动的知识提取框架

Build Status

torchdistill(以前是kdkit)提供各种知识提炼方法 并使您能够通过编辑yaml文件而不是Python代码来设计(新)实验。 即使你需要在教师/学生模型中提取中间表示, 您将NOT需要重新实现模型,这些模型通常会更改转发的接口, 而是在yaml文件中指定模块路径。在

前钩管理器

使用ForwardHookManager,您可以在模型中提取中间表示,而无需修改其转发函数的接口。
This example notebook将使您更好地了解用法。在

ILSVRC 2012(ImageNet)前1验证精度

T: ResNet-34*PretrainedKDATFTCRDTf-KDSSKDL2PAD-L2
S: ResNet-1869.76*71.3770.9070.4570.9370.5270.0971.0871.71
Original workN/AN/A70.70N/A**71.1770.4271.6270.9071.71

*预训练的ResNet-34和ResNet-18由torchvision提供。
**在原始工作中,FT与ILSVRC 2015一起评估。
对于第二行(S:ResNet-18),检查点(训练权重)、配置和日志文件是available, 配置重用了除KD外的原始工作中使用的历元数等超参数。 图像分类、对象检测和语义分割的示例代码可在examples/中找到。在

引文

[Preprint]

@article{matsubara2020torchdistill,title={torchdistill: A Modular, Configuration-Driven Framework for Knowledge Distillation},author={Matsubara, Yoshitomo},year={2020}eprint={2011.12913},archivePrefix={arXiv},primaryClass={cs.LG}}

如何设置

  • Python 3.6>;=
  • pipenv(可选)

由pip/pipenv安装

^{pr2}$

从此存储库安装

git clone https://github.com/yoshitomo-matsubara/torchdistill.git
cd torchdistill/
pip3 install -e .
# or use pipenv
pipenv install "-e ."

问题/联系人

文件正在编制中。同时,如果您有功能请求或 如果你想私下问我,请给我发邮件(yoshitom@uci.edu)。在

参考文献

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

推荐PyPI第三方库


热门话题
java组在不同线程中记录消息   java Wicket挂载404错误页   Java:如何制作对象数组的副本?   类似Windows中的java日期时间选择器   java无法获取JTextField用户输入以搜索文本文件   安卓 Java:如何随机更改背景和字体颜色   Java定时器中的摆动变化延迟   java让Selenium暂停X秒   将响应传递到视图时发生java Nativescript错误   java刷新安卓列表视图的最佳方式是什么?   单java进程的多线程队列/工作线程体系结构   web服务Java NoSuchMethodException   java groupingBy和filter一步到位   java游标。getCount()给定错误   即使引用的文件位于项目根目录中,java PrintWrite仍会持续引发“未找到文件”异常