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

淘宝客网站备案信息怎么写开发网站现实网络传输失败

淘宝客网站备案信息怎么写,开发网站现实网络传输失败,it公司做网站用什么软件,建设淘宝网站的人员组织知识点:热力图 作业:对比不同卷积层热图可视化的结果 一、概念 为了方便观察输出,将特征图进行可视化。特征图本质就是不同的卷积核的输出,浅层指的是离输入图近的卷积层,浅层卷积层的特征图通常较大,而深层…
知识点:热力图

作业:对比不同卷积层热图可视化的结果

一、概念

为了方便观察输出,将特征图进行可视化。特征图本质就是不同的卷积核的输出,浅层指的是离输入图近的卷积层,浅层卷积层的特征图通常较大,而深层特征图会经过多次下采样,尺寸显著缩小,尺寸差异过大时,小尺寸特征图在视觉上会显得模糊或丢失细节。步骤逻辑如下:


1. 初始化设置:将模型设为评估模式,准备类别名称列表(如飞机、汽车等)。

2. 数据加载与处理:

   - 从测试数据加载器中获取图像和标签。

   - 仅处理前 `num_images` 张图像(如2张)。

3. 注册钩子捕获特征图:

   - 为指定层(如 conv1, conv2, conv3)注册前向钩子。

   - 钩子函数将这些层的输出(特征图)保存到字典中。

4. 前向传播与特征提取:

   - 模型处理图像,触发钩子函数,获取并保存特征图。

   - 移除钩子,避免后续干扰。

5. 可视化特征图:对每张图像进行以下操作

   - 恢复原始像素值并显示。

   -为每个目标层创建子图,展示前 `num_channels` 个通道的特征图(如9个通道)。

   - 每个通道的特征图以网格形式排列,显示通道编号。


 

关键细节

- 特征图布局:原始图像在左侧,各层特征图按顺序排列在右侧。

- 通道选择:默认显示前9个通道(按重要性或索引排序)。

- 显示优化:

  - 使用 inset_axes 在大图中嵌入小网格,清晰展示每个通道。

  - 层标题与通道标题分开,避免重叠。

  - 反标准化处理恢复图像原始色彩。

二、代码实战

def visualize_feature_maps(model, test_loader, device, layer_names, num_images=3, num_channels=9):"""可视化指定层的特征图(修复循环冗余问题)参数:model: 模型test_loader: 测试数据加载器layer_names: 要可视化的层名称(如['conv1', 'conv2', 'conv3'])num_images: 可视化的图像总数num_channels: 每个图像显示的通道数(取前num_channels个通道)"""model.eval()  # 设置为评估模式class_names = ['飞机', '汽车', '鸟', '猫', '鹿', '狗', '青蛙', '马', '船', '卡车']# 从测试集加载器中提取指定数量的图像(避免嵌套循环)images_list, labels_list = [], []for images, labels in test_loader:images_list.append(images)labels_list.append(labels)if len(images_list) * test_loader.batch_size >= num_images:break# 拼接并截取到目标数量images = torch.cat(images_list, dim=0)[:num_images].to(device)labels = torch.cat(labels_list, dim=0)[:num_images].to(device)with torch.no_grad():# 存储各层特征图feature_maps = {}# 保存钩子句柄hooks = []# 定义钩子函数,捕获指定层的输出def hook(module, input, output, name):feature_maps[name] = output.cpu()  # 保存特征图到字典# 为每个目标层注册钩子,并保存钩子句柄for name in layer_names:module = getattr(model, name)hook_handle = module.register_forward_hook(lambda m, i, o, n=name: hook(m, i, o, n))hooks.append(hook_handle)# 前向传播触发钩子_ = model(images)# 正确移除钩子for hook_handle in hooks:hook_handle.remove()# 可视化每个图像的各层特征图(仅一层循环)for img_idx in range(num_images):img = images[img_idx].cpu().permute(1, 2, 0).numpy()# 反标准化处理(恢复原始像素值)img = img * np.array([0.2023, 0.1994, 0.2010]).reshape(1, 1, 3) + np.array([0.4914, 0.4822, 0.4465]).reshape(1, 1, 3)img = np.clip(img, 0, 1)  # 确保像素值在[0,1]范围内# 创建子图num_layers = len(layer_names)fig, axes = plt.subplots(1, num_layers + 1, figsize=(4 * (num_layers + 1), 4))# 显示原始图像axes[0].imshow(img)axes[0].set_title(f'原始图像\n类别: {class_names[labels[img_idx]]}')axes[0].axis('off')# 显示各层特征图for layer_idx, layer_name in enumerate(layer_names):fm = feature_maps[layer_name][img_idx]  # 取第img_idx张图像的特征图fm = fm[:num_channels]  # 仅取前num_channels个通道num_rows = int(np.sqrt(num_channels))num_cols = num_channels // num_rows if num_rows != 0 else 1# 创建子图网格layer_ax = axes[layer_idx + 1]layer_ax.set_title(f'{layer_name}特征图 \n')# 加个换行让文字分离上去layer_ax.axis('off')  # 关闭大子图的坐标轴# 在大子图内创建小网格for ch_idx, channel in enumerate(fm):ax = layer_ax.inset_axes([ch_idx % num_cols / num_cols, (num_rows - 1 - ch_idx // num_cols) / num_rows, 1/num_cols, 1/num_rows])ax.imshow(channel.numpy(), cmap='viridis')ax.set_title(f'通道 {ch_idx + 1}')ax.axis('off')plt.tight_layout()plt.show()# 调用示例(按需修改参数)
layer_names = ['conv1', 'conv2', 'conv3']
visualize_feature_maps(model=model,test_loader=test_loader,device=device,layer_names=layer_names,num_images=5,  # 可视化5张测试图像 → 输出5张大图num_channels=9   # 每张图像显示前9个通道的特征图
)

特征图含义

经过不断下采样,特征变得越来越抽象,人类已经无法理解。

通过可视化特征图,可直观观察:

- 浅层卷积层(如 conv1)如何捕获边缘、纹理等低级特征。

- 深层卷积层(如 conv3)如何组合低级特征形成语义概念(如物体部件)。

- 模型对不同类别的关注区域差异(如鸟类的羽毛纹理 vs. 飞机的金属光泽)。

conv1 特征图(浅层卷积)

特点:

  - 保留较多原始图像的细节纹理(如植物叶片、青蛙身体的边缘轮廓)。

  - 通道间差异相对小,每个通道都能看到类似原始图像的基础结构(如通道 1 - 9 都能识别边缘、纹理)。

意义:

  - 提取低级特征(边缘、颜色块、简单纹理),是后续高层特征的“原材料”。

  - 类似人眼初步识别图像的轮廓和基础结构。

conv2 特征图(中层卷积)

特点:

  - 空间尺寸(高、宽)比 conv1 更小(因卷积/池化下采样),但语义信息更抽象。

  - 通道间差异更明显:部分通道开始聚焦局部关键特征(如通道 5、8 中黄色高亮区域,可能对应青蛙身体或植物的关键纹理)。

意义:

  - 对 conv1 的低级特征进行组合与筛选,提取中级特征(如局部形状、纹理组合)。

  - 类似人眼从“边缘轮廓”过渡到“识别局部结构”(如青蛙的身体块、植物的叶片簇)。

 conv3 特征图(深层卷积)

特点:

  - 空间尺寸进一步缩小,抽象程度最高,肉眼难直接对应原始图像细节。

  - 通道间差异极大,部分通道聚焦全局语义特征(如通道 4、7 中黄色区域,可能对应模型判断“青蛙”类别的关键特征)。

意义:

  - 对 conv2 的中级特征进行全局整合,提取高级语义特征(如物体类别相关的抽象模式)。

  - 类似人眼最终“识别出这是青蛙”的关键依据,模型通过这些特征判断类别。


文章转载自:

http://CvuSSmNa.xjbtb.cn
http://LIYU1sbo.xjbtb.cn
http://Gi4KMnJg.xjbtb.cn
http://LTGySwST.xjbtb.cn
http://5UMxeGPi.xjbtb.cn
http://RVAG6q6T.xjbtb.cn
http://KKqgWUIE.xjbtb.cn
http://SplSA4mP.xjbtb.cn
http://9ZgzIQp7.xjbtb.cn
http://QWyPqkbP.xjbtb.cn
http://5HbfFeVB.xjbtb.cn
http://e3o2TXBY.xjbtb.cn
http://GFctE2iv.xjbtb.cn
http://DO83j6mi.xjbtb.cn
http://eH8xvoym.xjbtb.cn
http://27m3OPYJ.xjbtb.cn
http://3bhVXjhZ.xjbtb.cn
http://H46OC8jO.xjbtb.cn
http://TgopbjPT.xjbtb.cn
http://di3avUT4.xjbtb.cn
http://F6Wjavoi.xjbtb.cn
http://v7Yb3009.xjbtb.cn
http://x1vvVf6s.xjbtb.cn
http://wlwRR8sP.xjbtb.cn
http://jFCn6wqQ.xjbtb.cn
http://TnVV5wcz.xjbtb.cn
http://swiabvOA.xjbtb.cn
http://2nXUJRCx.xjbtb.cn
http://6J0TKDRh.xjbtb.cn
http://VTEf2ZOb.xjbtb.cn
http://www.dtcms.com/wzjs/634456.html

相关文章:

  • php做简单网站教程html5自建网站
  • html导航网站源码网站服务器的安全性首先是实现用户账号的权限设置
  • 目前国内做情趣最好的网站google框架三件套
  • 怎样做直播网站网络营销推广方案论文
  • ic商城网站建设南大芜湖企业做网站
  • 餐厅装修设计公司网站c 网站开发培训
  • 建立网站最先进的互联网技术有哪些深圳商城网站设计价格
  • 网站服务器错误怎么办网站管理入口
  • 网站管理淄博建设企业网站
  • 东莞网站推广建设html5开发的网站
  • 做网站推广需要多少费用沈阳网站建设黑酷科技
  • 电子商务网站建设与管理的书企业员工培训总结
  • 有没有一些网站可以做问卷关于建设工程招标的网站
  • 外贸公司网站空间电子商务的网站的建设内容
  • 安徽合肥制作网站公司吗桂林象鼻山作文400字
  • asp 网站模板dedecms 做电商网站
  • 苏州建设工程检测协会网站网站建设与管理好学吗
  • 中国铁建企业门户网站合肥网站建设yjhlw
  • 创建一个网站网站空间费用mip网站怎么做匹配
  • 古交市住房和城乡建设局网站做网站的哪里好
  • 个人求职网站htmlai智能生成图片免费网站
  • 三亚市建设局网站公示资海网站建设
  • 做视频资源网站网站总体设计怎么写
  • 公司网站源码 带wap手机站平台公司有哪些
  • 为代理网站做网站手机app下载软件安装
  • 课堂资源管理网站开发需求分析四川成都现在可以去吗
  • 如何清空网站数据库小程序商城多少钱
  • 百度建网站要多少钱线报网站如何做
  • 建设商城网站的难点成都可以做网站的公司
  • 福州正规网站建设公司报价对比的网站建设