当前位置:网站首页>pytorch 23 hook的使用与介绍 及基于hook实现即插即用的DropBlock
pytorch 23 hook的使用与介绍 及基于hook实现即插即用的DropBlock
2022-06-27 01:58:00 【万里鹏程转瞬至】
Hook(钩子):字面意思就是勾住一个函数,在其执行前修改输入数据或其他操作,或者在其执行后修改输出输出或其他操作。通过hook操作可以锁定一个layer对象(model中的模块)的生命周期,监视其执行状态和执行结果。在pytorch中,提供丰富的hook api,让我们可以监听并修改tensor在模型forword中的状态。在本博文中,基于hook操作实现了即插即用的Dropout操作,支持dorpblock、dropout2d等系列Dropout操作。
在pytorch中layer的生命周期可以简单的理解为:定义->初始化->前向传播->反向传播->销毁。其中前向传播和反向传播是其执行流程中最重要的部分,通过对前向传播和反向传播进行hook操作,可以获取数据在模型中的执行状态(比如实现CAM)并进行修改操作(比如实现梯度裁剪)。
Grad-CAM:基于梯度的类别响应特征可视化。通过hook操作获取相应layer的forward流程中feature map的output和backward流程中grad的output,然后将feature_map_output与backward_grad_output中相应的元素相乘,然后实现类别响应特征可视化。
梯度裁剪:对layer的backward流程中grad的output的值进行约束,使其不能大于特定值从而导致梯度爆炸。
1、pytorch中的hook接口
pytorch针对Model、modules.module、ScriptModule和Tensor 4种模块分别提供了相应的hook接口。其中针对于Tensor只提供了一个用于反向传播的hook,因为tensor的前向传播流程对用户是完全可见的。针对于Model、modules.module、ScriptModul
边栏推荐
- Oracle/PLSQL: Soundex Function
- Memcached foundations 12
- 二叉樹oj題目
- Oracle/PLSQL: Translate Function
- Dameng database installation
- ThreadLocal详解
- Topolvm: kubernetes local persistence scheme based on LVM, capacity aware, dynamically create PV, and easily use local disk
- 简单学习GoogleColab的入门级概念
- memcached基础9
- Memcached basics 15
猜你喜欢

Sample development of WiFi IOT Hongmeng development kit

Google began to roll itself, AI architecture pathways was blessed, and 20billion generation models were launched

lottie. JS creative switch button animal head

SystemVerilog simulation speed increase

参数估计——《概率论及其数理统计》第七章学习报告(点估计)

Dameng database installation

SQLite Reader 插件测试SQLite语法

h5液体动画js特效代码

Arbre binaire OJ sujet

达梦数据库安装
随机推荐
WiFi-IoT 鸿蒙开发套件样例开发
Dameng database installation
Binary tree OJ problem
速看!2022年6月编程语言排行榜出炉!第一名太牛啦
使用命令行安装达梦数据库
Why divide the training set and the test set before normalization?
Oracle/PLSQL: VSize Function
CVPR2022 | PointDistiller:面向高效紧凑3D检测的结构化知识蒸馏
Oracle/PLSQL: Lpad Function
Oracle/PLSQL: Length Function
Cvpr2022 | pointdistiller: structured knowledge distillation for efficient and compact 3D detection
"All majors are persuading them to quit." is it actually the most friendly to college students?
get_ Usage Summary of sequencer
Cookie, sessionstorage, localstorage differences
Memcached foundations 12
Oracle/PLSQL: Rpad Function
three.js多米诺骨牌js特效
热议:月薪1.8万却毫无意义的工作,你干吗?
NOKOV动作捕捉系统使多场协同无人机自主建造成为可能
企业数字化转型:信息化与数字化