杂谈 | 当前知识蒸馏与迁移学习有哪些可用的开源工具?
所有参与投票的 CSDN 用户都参加抽奖活动
群内公布奖项,还有更多福利赠送
作者&编辑 | 言有三
来源 | 有三AI(ID:yanyousan_ai)
【导读】知识蒸馏与迁移学习不仅仅属于模型优化的重要技术之一,也是提升模型跨领域泛化能力的重要技术,那么当前有哪些可用的知识蒸馏和迁移学习开源工具呢?
1 PaddleSlim
PaddleSlim是百度提出的模型优化工具,包含在PaddlePaddle框架中,支持若干知识蒸馏算法,可以在teacher网络和student网络任意层添加组合loss,包括FSP loss,L2 loss,softmax with cross-entropy loss等。
https://github.com/PaddlePaddle/models/tree/develop/PaddleSlim
2 Distiller
Distiller是Intel基于Pytorch开源的模型优化工具,支持Hinton等人提出的Knowledge distillation算法。
https://github.com/NervanaSystems/distiller
3 MxNet
MxNet中集成了Bayesian Dark Knowledge方法的复现,在推荐系统中有一定作用。
https://github.com/apache/incubator-mxnet/tree/master/example/bayesian-methods
4 非官方Pytorch项目
Knowledge-Distillation-Zoo是GitHub用户AberHu蒸馏的知识蒸馏项目,支持fitnet等多个模型。
https://github.com/AberHu/Knowledge-Distillation-Zoo
deep-transfer-learning是GitHub用户easezyc整理的迁移学习项目。
https://github.com/easezyc/deep-transfer-learning
5 一些经典模型实现
Hinton等人在2015年提出了经典的知识蒸馏框架Knowledge distillation,下面是各大框架的复现。
[1] Keras
https://github.com/TropComplique/knowledge-distillation-keras
[2] Tensorflow
https://github.com/DushyantaDhyani/kdtf
[3] Caffe
https://github.com/wentianli/knowledge_distillation_caffe
更多的一些经典算法如下,留待读者自己学习,咱们就不沉迷于收藏了。
[1] Relational Knowledge Distillation算法
https://github.com/lenscloth/RKD
[2] Teacher-Assistant-Knowledge-Distillation算法
https://github.com/imirzadeh/Teacher-Assistant-Knowledge-Distillation
[3] Contrastive Representation Distillation算法
https://github.com/HobbitLong/RepDistiller
[4] Zero-shot_Knowledge_Distillation算法
https://github.com/sseung0703/Zero-shot_Knowledge_Distillation
[5] net2net算法
https://github.com/soumith/net2net.torch
[6] fitnet算法
https://github.com/adri-romsor/FitNets
6 开源综述资料
接下来再给大家介绍两个综述性质的开源资料。
第一个是知识蒸馏综述项目,包括相关的论文合集,也包括一些开源算法的实现。
https://github.com/dkozlov/awesome-knowledge-distillation
第二个是迁移学习综述项目,包括相关的论文合集,开源代码。
https://github.com/jindongwang/transferlearning
其他类似的还有https://github.com/artix41/awesome-transfer-learning,https://github.com/AI-ON/Multitask-and-Transfer-Learning,资料收集爱好者不妨关注。
7 更多理论学习
如果想要系统性学习模型优化相关的理论,可以移步有三AI知识星球 -> 网络结构1000变 -> 模型压缩板块 -> 模型剪枝,量化与蒸馏板块,知识蒸馏与迁移学习的一些解读案例如下:
总结
知识蒸馏与迁移学习相比于大量数据进行监督学习的方式,更符合人类学习的特点,在工业界有着实际落地需求,学术界有很重要的研究意义。
(*本文为AI科技大本营转载文章,转载请联系原作者)
◆
精彩推荐
◆
点击阅读原文,或扫描文首贴片二维码
所有CSDN 用户都可参与投票活动
加入福利群,每周还有精选学习资料、技术图书等福利发送
点击投票页面「讲师头像」,60+公开课免费学习
推荐阅读
Python 三十大实践、建议和技巧
2020年AI 2000最具影响力学者榜单发布,何恺明排名超过李飞飞
达摩院 2020 预测:模块化降低芯片设计门槛 | 问底中国 IT 技术演进
只十分钟,唾手可得的工作机会就被我搞砸了!
2020年趋势一览:AutoML、联邦学习、云寡头时代的终结
千万不要和程序员一起合租!
十大新兴前端框架大盘点
联盟链走向何方
用比特币的中间层知识完善区块链认知
你点的每个“在看”,我都认真当成了AI
相关文章:

对 Thinking in java 4th Edition I/O DirList.java的疑问
2019独角兽企业重金招聘Python工程师标准>>> 以下原文代码: //: io/DirList.java // Display a directory listing using regular expressions. // {Args: "D.*\.java"} import java.util.regex.*; import java.io.*; import java.util.*; pub…

WMI技术介绍和应用——Instance/Method Provider
在《WMI技术介绍和应用——事件通知》一文中,我们提到了提供者(Provider)这个概念。我们还是要引入WMI的结构图(转载请指明出于breaksoftware的csdn博客) 我们在1这层的Native C/C里可以看到若干Provider,这…

SSH 组建轻量级架构 附录 -- 遇到的问题和解答
action: nulljava.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugIn解决方法:加载 spring.jar 包 报 无法初始化at org.apache.struts.action.ActionServlet.initModulePlugIns(解决方法:删除 asm-2.2.3.jar springda…
TIOBE 1月编程语言排行榜:C语言再度「C 位」出道,Python惜败
整理 | 屠敏来源 | CSDN(ID:CSDNnews)【导读】在 2020 年初雪来临之际,TIOBE 官方在最新发布的 1 月编程语言榜单中为我们最终揭开了「 2019 年度编程语言」的神秘面纱,然意料之外情理之中,获此殊荣的并非是…

my项目的总结2015.8.26编
这已经是上上个星期的事了,现在回顾一下: 负责的模块是"my",更精准的说应该是my里面的个人信息管理 由于项目分域,模块已经分好了,涉及到的只是在现有的基础上解决分域后遗留的历史问题 上点图吧:…
WMI技术介绍和应用——Event Provider
在《WMI技术介绍和应用——Instance/Method Provider》一文中,我们介绍了Instance和Method Provider的编写方法。本文我们将介绍更有意思的“事件提供者”。在《WMI技术介绍和应用——事件通知》中,我们曾经提到事件是分为两种:intrinsic eve…

Windows server 2003 IP路由配置
1、静态路由:在静态路由中必须明确指出从源到目标所经过的路径2、默认路由:默认路由是一种特殊的静态路由,为那些在路由表中没有找到明确匹配的路由信息的数据包指定下一步跳地址。在Windows server 2003的计算机上配置默认网关时就为该计算机…
人工智能的下一个前沿:识别“零”和“无”
所有参与投票的 CSDN 用户都参加抽奖活动群内公布奖项,还有更多福利赠送作者 | Max Versace译者 | 夕颜出品 | AI科技大本营(ID:rgznai100)声明:本文为客座文章,仅是为作者的观点,不代表 IEEE Spectrum 或 …

File Operations In Java
2019独角兽企业重金招聘Python工程师标准>>> The “File” class in Java defines many useful methods, here is a program which demonstrates some of these methods. import java.io.*;public class streams {public static void main(String []args){File f1ne…
Cascade RPN,结构的艺术带来极致提升 | NeurIPS 2019
作者 | VincentLee来源 | 晓飞的算法工程笔记(ID: gh_084c810bc839)导读:论文提出Cascade RPN算法来提升RPN模块的性能,该算法重点解决了RPN在迭代时anchor和feature不对齐的问题,论文创新点足,效果也很惊艳…

IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置[完整修正实用版]
IISPHPMySQLZend OptimizerGD库phpMyAdmin安装配置[完整修正实用版]IISPHPMySQLZend OptimizerGD库phpMyAdmin安装配置[完整修正实用版][补充]关于参照本贴配置这使用中使用的相关问题请参考关于WIN主机下配置PHP的若干问题解决方案总结这个帖子尽量自行解决,谢谢[url]http://b…

WMI技术介绍和应用——Event Consumer Provider
在《WMI技术介绍和应用——Event Provider》和《WMI技术介绍和应用——接收事件》中,我们展现了如何处理和事件相关的WMI知识。而《WMI技术介绍和应用——接收事件》一文则主要讲解了如何查询事件,这种查询是在我们进程存在时发生的,一旦我们…

shell练习四
2019独角兽企业重金招聘Python工程师标准>>> 模拟linnux登录shell #!/bin/bash echo -n "login:" read name echo -n "passwd:" read passwdif [ $name"aaa" -a passwd"aaa" ]; thenecho "the host and passwd is rig…

WMI技术介绍和应用——总结(完)
断断续续的,历经三年将WMI这个主题给写完了。记得最开始时接触该技术,是因为传统获取CPU序列号的方法总是出错。于是接触了这种已经很老的技术。本着打破砂锅问到底的想法,我决定稍微研究一下,结果越来越深。正好借着年前这点时间…
2020年,大火的Python和JavaScript是否会被取而代之?
作者 | Richard Kenneth Eng 译者 | 明明如月,编辑 | 郭芮 来源 | CSDN(ID:CSDNnews) Python 和 JavaScript 是目前最火的两大编程语言。然而,他们不可能永远屹立不倒。最终,必将像其他编程语言一样跌下神坛…

WaveSwipeRefreshLayout
WaveSwipeRefreshLayout 介绍: 水滴效果的下拉刷新,效果非常不错。 http://itlanbao.com/code/20150815/10000/100423.html 运行效果: 相关代码 android Gallery 图片滚动 BalloonPerformerCountryRankDelightfulMenuDrawableFancyBackground…

Google Test(GTest)使用方法和源码解析——概况
GTest是很多开源工程的测试框架。虽然介绍它的博文非常多,但是我觉得可以深入到源码层来解析它的实现原理以及使用方法。这样我们不仅可以在开源工程中学习到实用知识,还能学习到一些思想和技巧。我觉得有时候思想和技巧是更重要的。(转载请指…
Reddit票选 | 2019年绝对不能错过的机器学习论文
来源 | reddit.com编辑 | 神经星星 神经小兮技术顾问 | 姜汉(openbayes.com)来源 | HyperAI超神经(ID:HyperAI)【导读】回顾 2019 年,人工智能领域时有大事发生,吸引着各界人士的关注。这一年,也…

ASP中的常用服务器检测源码
在写ASP网页时常用的检测代码:服务器现在时间: 引用<% now %>服务器CPU型号: 引用<%Request.ServerVariables("HTTP_UA_CPU")%>当前分辨率: 引用<% Request.ServerVariables("HTTP_UA_PIXELS")%>可显示颜色:[qoute]<%Request.ServerV…

选IDC房时,用脚本截取丢失包和rtt的值作比对
由于业务增长,需要选一个IDC房托管接入。网络质量要求比较高。在IDC给出测试机时,利用smokping来测试,是测出去的包。由于我们在各个地区都有接入机。再从这些接入机去测IDC网络质量,比对指标:丢失的包和rtt返回时延。…
Google Test(GTest)使用方法和源码解析——自动调度机制分析
在《Google Test(GTest)使用方法和源码解析——概况 》一文中,我们简单介绍了下GTest的使用和特性。从这篇博文开始,我们将深入代码,研究这些特性的实现。(转载请指明出于breaksoftware的csdn博客) 测试用例的自动保存…

D3D中简单的截图方法 (转)
【ZT】D3D中简单的截图方法 试了下,果然可以。在渲染完所有东东后(Present之前) 获得BackBuffer表面 然后用D3DX的函数保存 voidScreenShot (char*filename) { IDirect3DSurface9 *tmp NULL; IDirect3DSurface9 *back NULL; //生成固定…
2019年,自动化机器学习AutoML技术还火吗? | BDTC 2019
整理 | 王银出品 | AI科技大本营(ID:rgznai100) 【导读】12 月 5-7 日,由中国计算机学会主办,CCF 大数据专家委员会承办,CSDN、中科天玑协办的中国大数据技术大会(BDTC 2019)在北京长城饭店隆重…

第一次使用51cto博客
阿梅第一次使用51cto博客,以后将学习中的总结写到这里来。加油。转载于:https://blog.51cto.com/hopit/1690465

Google Test(GTest)使用方法和源码解析——结果统计机制分析
在分析源码之前,我们先看一个例子。以《Google Test(GTest)使用方法和源码解析——概况 》一文中最后一个实例代码为基准,修改最后一个“局部测试”结果为错误。(转载请指明出于breaksoftware的csdn博客) class ListTest : publi…
贾扬清感谢信:阿里开源10年,致敬千万开源人
整理 | 夕颜【导读】2019 年 10 月,有人曾根据 www.gharchive.org 的数据整理出一份 2019 年GitHub 开源贡献排行榜,获取 GitHub 2019 年的 PushEvent,通过分析 GitHub 用户提交记录中的邮件地址,分辨其所属组织。从这份榜单上可…

热烈庆祝我国神七发射成功!
热烈庆祝我国神七发射成功!
云计算设计模式(十)——守门员模式
云计算设计模式(十)——守门员模式 通过使用充当客户端和应用程序或服务之间的代理,验证和进行消毒的请求,并将它们之间的请求和数据的专用主机实例保护的应用程序和服务。这可以提供一个额外的安全层,并限制了系统的攻…
“不会Linux,怎么干程序员?”骨灰级工程师:干啥都不行!
说起优秀程序员的必备技能,我想大家都可以说很多,比如:数据结构、算法、数学、编程语言等等。但是,你可能会忽略了每一个程序员都应该掌握的技能:Linux。想一想,我们日常学习、求职、工作场景的中ÿ…
Google Test(GTest)使用方法和源码解析——Listener技术分析和应用
在《Google Test(GTest)使用方法和源码解析——结果统计机制分析》文中,我么分析了GTest如何对测试结果进行统计的。本文我们将解析其结果输出所使用到的Listener机制。(转载请指明出于breaksoftware的csdn博客) 解析 源码中,我们…