当前位置: 首页 > news >正文

python打卡day42@浙大疏锦行

知识点回顾

  1. 回调函数
  2. lambda函数
  3. hook函数的模块钩子和张量钩子
  4. Grad-CAM的示例

 一、回调函数示例

# 训练过程中的回调函数
class Callback:def on_train_begin(self):print("训练开始")def on_epoch_end(self, epoch, logs=None):print(f"Epoch {epoch} 完成")# 使用示例
callback = Callback()
callback.on_train_begin()
for epoch in range(10):# ...训练代码...callback.on_epoch_end(epoch)

二、lambda函数示例

# 简单lambda
add = lambda x, y: x + y# 在PyTorch中的使用
data = torch.randn(10)
processed = list(map(lambda x: x*2, data))  # 每个元素乘以2

三、hook函数示例

# 模块钩子
model = nn.Sequential(nn.Linear(10,5), nn.ReLU())
def module_hook(module, input, output):print(f"{module.__class__.__name__} 输出形状: {output.shape}")
model[0].register_forward_hook(module_hook)# 张量钩子
x = torch.randn(3, requires_grad=True)
x.register_hook(lambda grad: grad * 0.5)  # 梯度修改

四、Grad-CAM示例

class GradCAM:def __init__(self, model, target_layer):self.model = modelself.gradients = Noneself.activations = Nonetarget_layer.register_forward_hook(self.save_activations)target_layer.register_backward_hook(self.save_gradients)def save_activations(self, module, input, output):self.activations = output.detach()def save_gradients(self, module, grad_input, grad_output):self.gradients = grad_output[0].detach()def __call__(self, x, class_idx=None):# ...前向/反向传播逻辑...cam = torch.relu(torch.sum(self.activations * weights, dim=1))return cam

关键点说明:

1. 回调函数常用于训练过程监控
2. lambda适合简单操作,复杂逻辑建议用普通函数
3. 模块钩子获取中间输出,张量钩子修改梯度
4. Grad-CAM通过hook获取梯度和激活值生成热力图

http://www.lqws.cn/news/66043.html

相关文章:

  • 湖北理元理律师事务所:个人债务管理的温度与精度
  • 劫持进程注入
  • 子串题解——和为 K 的子数组【LeetCode】
  • 自编码器Auto-encoder(李宏毅)
  • WSL2 安装与Docker安装
  • CP4-OFDM模糊函数原理及仿真
  • HTTPS
  • Flickr30k Entities短语定位评测指南
  • 微调大模型:什么时候该做,什么时候不该做?
  • 湖北理元理律师事务所:企业债务优化的科学路径与人文关怀
  • vscode编辑器怎么使用提高开发uVision 项目的效率,如何编译Keil MDK项目?
  • Nginx反向代理
  • Pull Request Integration 拉取请求集成
  • Mybatis-Plus 学习
  • JMeter 直连数据库
  • 设备驱动与文件系统:01 I/O与显示器
  • linux信号详解
  • Java正则表达式完全指南
  • Java实现中文姓名转拼音生成用户信息并写入文件
  • Java函数式编程(上)
  • 象棋里的卧槽马、侧面虎、金钩马的方位与解析
  • OpenLayers 地图标注之图文标注
  • [Python] Python中的多重继承
  • 儿童节快乐,聊聊数字的规律和同余原理
  • STM32——CAN总线
  • 助力高校AI教学与科研:GpuGeek推出618算力支持活动
  • Launcher3体系化之路
  • python打卡day42
  • vscode 代理模式(agent mode),简单尝试一下。
  • 02.05、链表求和