You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么TensorBoard可视化ResNet50时MaxPool2d层会输出2个张量?

TensorBoard可视化ResNet50时MaxPool2d层显示两个输出的原因

这是PyTorch计算图导出、TensorBoard可视化机制带来的正常冗余显示,并不代表MaxPool2d层实际运行时会输出两个有效张量:

  • ResNet官方实现的MaxPool2d层默认配置为return_indices=False,正向推理时仅输出池化后的特征图。你可以手动执行output = model.maxpool(dummy_input)验证,实际运行时只会得到1个返回值。
  • 你提供的可视化截图里看到的第二个张量是池化位置索引(indices):PyTorch的MaxPool2d算子本身支持返回该索引,用于反向传播时的上采样计算。调用add_graph导出计算图时,工具会记录算子的所有潜在输出节点以保证计算图完整性,哪怕该输出被配置为禁用,也会以占位节点的形式显示在可视化结果中。这个节点在实际正向推理时不会被计算,也不会被后续层调用,属于可视化的冗余信息,不影响模型的实际运行逻辑。

你提供的测试代码没有问题,不需要做修改,直接忽略可视化结果里的第二个冗余输出即可。

内容的提问来源于stack exchange,提问作者user16443944

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 05:27:02