pytorch中tensorboard网络可视化输出错误:

Pytorch ----- tansorboard (add_scalar、add_image) 参数详解+运行实例 tansorboard (add_scalar、add_image) 参数详解+运行实例 阅读详情

        对于模型的输出是list或者dict,需要使用可视化展示model时会产生错误,仅支持tuple或者namedtuple输出方式:

RuntimeError: Encountering a dict at the output of the tracer might cause the trace to be incorrect, this is only valid if the container structure does not change based on the module's inputs. Consider using a constant container instead (e.g. for `list`, use a `tuple` instead. for `dict`, use a `NamedTuple` instead). If you absolutely need this and know the side effects, pass strict=False to trace() to allow this behavior.

 可以通过如下方法将模型的输出进行更改:

from collections import namedtuple
from typing import Any

# pylint: disable = abstract-method
class ModelWrapper(torch.nn.Module):
    """
    Wrapper class for model with dict/list rvalues.
    """

    def __init__(self, model: torch.nn.Module) -> None:
        """
        Init call.
        """
        super().__init__()
        self.model = model

    def forward(self, input_x: torch.Tensor) -> Any:
        """
        Wrap forward call.
        """
        data = self.model(input_x)

        if isinstance(data, dict):
            data_named_tuple = namedtuple("ModelEndpoints", sorted(data.keys()))  # type: ignore
            data = data_named_tuple(**data)  # type: ignore

        elif isinstance(data, list):
            data = tuple(data)

        return data

在修改网络的测试输入input,并将你自己的网络模型的类输入到此类中: 

#以下内容是我自己网络测试使用
if __name__ == '__main__':
    writer = SummaryWriter('logs')
    input = torch.ones((1,3,800,320))
    net = parsingNet(pretrained=True, backbone='50',num_grid_row=56,num_cls_row =100, num_grid_col = 40, num_cls_col = 100, num_lane_on_row = 2, num_lane_on_col = 2,input_height = 800, input_width = 320)
    model_wrapper = ModelWrapper(net)
    writer.add_graph(model_wrapper, input)
    # output = net(input)
    # print(type(output))
    # print(output.keys())
    # print(isinstance(output,dict))
    
    # writer.add_graph(net,input)
    writer.close()

 通过以上修改就可以可视化输出网络(我的网络输出的是dict类型)。参考如下:

PyTorch实战:手把手教你排查并修复 ‘mat1 and mat2 shapes cannot be multiplied‘ 这个烦人的FC层报错 本文详细解析了PyTorch中常见的RuntimeError 'mat1 and mat2 shapes cannot be multiplied'错误,特别是在全连接层(FC层)中的维度不匹配问题。通过数学原理分析、典型错误场景展示和系统化排查流程,帮助开发者快速定位并修复这一常见问题。文章还提供了高级调试技巧、不同网络架构的解决方案以及工程实践中的防御性编程建议,是PyTorch开发者的实用指南。 阅读详情

相关推荐

pytorch 使用 tensorboard

Tensorboard 是一个动态可视化数值的工具,同时也能可视化静态的神经网络结构。Tensorboard 包含两部分功能:将网络结构、动态数值以 protocol buffer 格式写到文件里。读取网络结构、读取动态数值,并展示在浏览器中。第一部分功能,以python包形式存在。编程者 import tensorboard 从而使用API将动态的数值以protocol buffer格式,不断地...

Aurora极光城 1万+

pytorch tensorboard add_graph() 错误

错误 RuntimeError: Encountering a dict at the output of the tracer might cause the trace to be incorrect, this is only valid if the container structure does not change based on the module’s inputs. Consider using a constant container instead (e.g. for list,

weixin_41321482的博客 3856

pytorch 网络可视化(四):tensorboardX

引导1. 基础情况2. 安装 tensorboardX3. 测试是否安装成功4. 输出网络结构 1. 基础情况 pytorch 1.2.0 torchvision 0.4.0 tensorboard 2.0 (其实不需要这个包就可以) tensorboardX 2.0 提前说:做好版本之间的匹配能避免很多错误,少走很多弯路。 2. 安装 tensorboardX 打开 Anaconda Prompt 进入自己的 pytorch 环境,运行代码安装所需要的依赖包,如下; pip install tenso

书山有路,学海无涯! 5839

在cmd上运行python models/export.py --weights best.pt --img 640 --batch 1

在cmd上运行python models/export.py --weights best.pt --img 640 --batch 1

weixin_49026129的博客 808

【Pytorch Learning】Tensorboard可视化网络_ 'torch._C.Value' object has no attribute 'debugName'

记录一下自己在Pytorch学习中,Tensorboard可视化网络的过程。 1. 环境配置 在可视化过程中,刚开始环境为tensorflow==2.0.1,tensorboardX==1.9,运行代码会出现如下的问题: AttributeError: 'torch._C.Value' object has no attribute 'debugName'。 根据https://blog.c...

East_Plain的博客 1146

Pytorch tensorboardX 网络结构可视化报错

1,设置使用CPU、GPU # 使用 CPU import os os.environ["CUDA_VISIBLE_DEVICES"] = "-1" # 使用 GPU from utee import misc args.gpu = misc.auto_select_gpu(utility_bound=0, num_gpu=args.ngpu, selected_gpus=args.gpu)...

Hello Word! 3527

DLAP221上Yolov5s性能测试

1. 导出yolov5 ONNX模型 选择一台x64的PC机,OS为Ubuntu18.04,在此台机器上完成Yolov5模型转ONNX模型。 1.1 下载原始yolov5代码、模型和权重文件 下载yolov5源代码 $ git clone -b v2.0 https://github.com/ultralytics/yolov5.git Cloning into 'yolov5'... remote: Enumerating objects: 6233, done. remote: Counting o

程序人生 2735

【ESP32】SPI SRAM memory test fail。External RAM failed memory test!

log日志报错如下:这两条报错信息表明外部 SPI SRAM(静态随机存取存储器)的内存测试失败。

weixin_56217406的博客 1024

C++版本YOLOV5.4的部署

1、环境配置html win10 vs2017 libtorch-win-shared-with-deps-debug-1.8.1+cpu opencv349  在源码中的requirments.txt中要求依赖库版本以下;在c++环境中,我们这里用的libtorch1.8.1(今天我也测试了环境:libtorch-win-shared-with-deps-1.7.1+cu110,也可以正常检测,和本博客最终结果一致);同时用opencv&c++做图像处理,不须要c++版本torchvisi

weixin_36114648的博客 2516

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

qq_31444421的博客 2万+

GPU运维工程师入门指南 (第九篇): 高性能网络 - InfiniBand与RDMA技术

本文介绍了支撑AI分布式训练的高性能网络技术InfiniBand和RDMA。传统TCP/IP网络因内核开销和内存拷贝成为性能瓶颈,而InfiniBand提供高带宽、低延迟的专用网络,RDMA则通过内核旁路和零拷贝技术实现节点间内存直接访问,显著提升通信效率。特别介绍了GPUDirect RDMA技术,使GPU显存可直接通信。文章还列举了运维人员在部署这些技术时需要考虑的硬件、驱动、配置和监控等关键点。这些技术共同构成了支撑大规模AI集群的"数据高速公路",为后续讨论存储性能瓶颈奠定了基础

weixin_42587823的博客 1098

11.19学习日志

同样,2D张量也是一个二维数组,其中的元素可以用两个坐标来索引,通常表示为。原因是在调用writer.add_images时会在内部调用make_grid函数,用来将多个图像组合成网格,便于可视化,而在使用。如果卷积核较大,输出的尺寸可能较小,因为每个卷积操作都会减小输出的尺寸。卷积操作的结果是通过在输入上滑动卷积核并计算对应元素乘积的和来得到的。较大的步幅会导致输出的尺寸减小,因为卷积核之间的重叠较少。函数时,通常通道数应为 3,这里的output通道数为6,因此会出现报错。函数进行二维卷积操作。

2301_76247111的博客 138

(保姆式教程:从下数据到画图)python如何利用EOF分析SSTA海温异常现象并画图

保姆式教程,教你如何利用python分析1979-2004年的太平洋地区的海温异常SSTA,并且绘制出空间模态和时间序列的图片。

shayuxing的博客 2万+

在Pytorch下安装TensorBoard

在Pytorch下安装TensorBoard 一. TensorBoard简介: TensorBoard提供了机器学习实验所需的可视化和工具,其使用是为了分析模型训练的效果: 跟踪和可视化指标,例如损失和准确性 可视化模型图(操作和图层) 查看权重,偏差或其他张量随时间变化的直方图 将embedding 投影到较低维度的空间 显示图像,文本和音频数据 分析TensorFlow程序 以及更多 从PyTorch 1.1.0版开始,PyTorch添加了一个tensorboard实用程序包,使我们

weixin_56728251的博客 4万+

AI工具如何提升产品经理工作效率

AI工具在现代产品管理中扮演着越来越重要的角色,从需求挖掘到原型设计再到交付物制作,AI技术正在重塑产品经理的工作流程。通过自然语言处理(NLP)和机器学习(ML)技术,AI工具能够自动化处理大量重复性任务,如用户访谈转录、竞品分析、原型生成等,显著提升工作效率。以ChatGPT和Notion AI为例,这些工具可以快速生成结构化分析框架和PRD初稿,将传统需要数小时甚至数天的工作压缩到几分钟内完成。在产品设计阶段,工具如Uizard和Galileo AI能够根据文本描述自动生成可交互原型,大幅缩短设计探索

weixin_29194817的博客 242

NVIDIA Isaac GR00T N1.5 人形机器人强化学习入门教程(四)Lerobot、宇树 G1 等不同形态机器人微调教程

本笔记本是一份关于如何在新的数据集上对GR00T-N1预训练模型进行微调的教程。

2506_90492529的博客 1667

TensorBoard最全使用教程:看这篇就够了

TensorBoard最全使用教程:看这篇就够了

qq_41656402的博客 14万+

机器学习kaggle报告-Facial Keypoints Detection【完整解题过程+代码】

在处理面部关键点检测任务时,首先需要将存储在 CSV 文件中的图像数据转换为可以显示和分析的图像。数据集中每个图像是以一个一维数组的形式存储,其中包含了图像的所有像素值。为了将这些数据转化为实际的图像,我们需要按照一定的规则将这些像素值重新排列为一个二维矩阵(即图像的行列)。下面是一个案例,展示了如何将数据集中的图像数据转化为图片。转化过程读取CSV文件:首先,我们需要读取包含图像数据的 CSV 文件,通常该文件包含多张图像的像素值。每一行表示一张图像,并且包含图像的像素值列表。提取图像数据。

一键难忘的博客 3355

pytorch tensorboard_Tensorboard+PyTorch牛刀小试

TensorBoard是Tensorflow附带的神经网络可视化分析工具,其功能十分强大。作为Pytorch用户,很幸运Tensorboard同样支持PyTorch。这里给出个人最近使用Tensorboard时的一些经验。1.14版本之后的Pytorch内已经有Tensorboard接口,但是仍然需要我们手动安装Tensorboard才可以调用:pip install tensorboardRes...

weixin_39815410的博客 266

基于GA-PSO-BP混合神经网络的多输入多输出数据预测-Python代码实现

多输入多输出数据预测

2301_80449389的博客 2783

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

PyTorch之TensorBoard

TensorBoard的背景,TensorBoard的应用,TensorBoard的常见错误排查

帅帅de三叔 1892

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

pytorch+tensorboard可视化最简单例子

尽管pytorch 已经集成了tensorboard的接口,但是你还要下载安装tensorboard工具。 下载tensorboard: pip install tensorboard. 不行的话,再安装 pip install tensorboardX。 tensorboard用网页的方式把很多的信息都展现出来,比较方便。上方image和graph分别代表你训练的数据和你的深度学习...

Yonggie的博客 1214

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

TensorBoard可视化加持,PyTorch-CUDA调试更直观

本文介绍如何结合PyTorch、CUDA和TensorBoard实现深度学习训练的全链路可视化。通过官方Docker镜像快速搭建环境,利用TensorBoard监控损失、梯度、模型结构等关键指标,提升训练透明度与可复现性,告别‘黑箱’式调参。

weixin_42591413的博客 888

安装pytorch可视化工具tensorboardX(主要解决tensorboard浏览器界面空白问题)

做毕设的过程中,需要用到pytorch,并且利用tensorboardX工具对训练过程中必要的地方进行可视化操作。但是在tensorboardX安装完成后,跑通了demo的代码,也声称了event文件,但是在浏览器打开时总是出现空白页面。总结错误原因:其实是版本的问题,import tensorflow报如图所示错误(DLL load failed),解决方法就是降版本,见最后。 一、...

woood小陈的博客 3335

PyTorch TensorBoard集成可视化训练指标

通过PyTorch与TensorBoard的原生集成,开发者可实时可视化损失、准确率、梯度分布等关键指标,结合预配置的PyTorch-CUDA容器镜像,实现从环境搭建到模型监控的高效闭环,显著提升调试效率与开发体验。

weixin_28721743的博客 465

告别print(model):用torchinfo和TensorBoard插件,给你的PyTorch模型做个可视化‘解剖’

本文详细介绍了如何利用torchinfo和TensorBoard插件对PyTorch模型进行可视化分析,超越传统的print(model)方法。通过torchinfo的轻量级分析和TensorBoard的深度可视化,开发者可以全面掌握模型结构、参数统计和训练动态,显著提升深度学习项目的开发效率。

xieye114的专栏 375
下一篇: GPU error:CUDA超内存
勤奋的小懒猪
博客等级 码龄7年 198粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值