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

YOLOv8+ByteTrack实战:5分钟搞定多目标跟踪(附鱼群检测调参秘籍)

本文详细介绍了如何利用YOLOv8和ByteTrack快速实现多目标跟踪,特别针对鱼群检测等复杂场景提供参数调优秘籍。通过环境配置、核心机制解析和专项调优技巧,开发者可在5分钟内搭建高效跟踪系统,适用于水产养殖、交通监控等实际应用。文章还包含工程落地方案和性能优化建议,帮助实现精准的鱼群计数与行为分析。

e1f2g的博客 1019

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

手把手教你为智能手表DIY一个离线导航:LVGL + SD卡地图实战

本文详细介绍了如何为智能手表DIY一个离线导航系统,结合LVGL图形库和SD卡地图数据。从硬件选型、地图数据处理到LVGL地图引擎实现,提供了完整的实战指南,特别适合户外运动爱好者和嵌入式开发者。文章还分享了功耗优化、性能提升等实用技巧,帮助读者打造高效的离线导航解决方案。

weixin_42570484的博客 206

AR Tag 与 ROS:从基础部署到机器人视觉定位实战

本文详细介绍了AR Tag技术在ROS环境下的部署与应用,涵盖从基础原理到机器人视觉定位的实战技巧。通过分析AR Tag的特征提取、位姿解算等核心技术,结合ROS工具包`ar_track_alvar`的配置优化,帮助开发者实现高精度的视觉定位系统。文章还分享了深度相机配置、坐标转换及性能优化等实用经验,适用于仓储机器人、物流分拣等场景。

weixin_33146151的博客 182

11.19学习日志

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

2301_76247111的博客 138

S32K3xx系列DMA驱动实战:EB配置与Mcal接口应用全解析(含Adc硬件触发示例)

本文深入解析S32K3xx系列MCU的DMA驱动开发,涵盖EB工具配置与Mcal接口应用,特别包含ADC硬件触发示例。通过详细架构分析、实战配置步骤和工业级应用案例,帮助开发者掌握AUTOSAR环境下DMA高效数据传输技术,提升汽车电子和工业控制系统的性能。

weixin_29162439的博客 466

在Pytorch下安装TensorBoard

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

weixin_56728251的博客 4万+

【eNSP 华为模拟器】单臂路由实战:从原理到配置全解析

本文详细解析了单臂路由技术,通过华为eNSP模拟器从原理到配置进行实战教学。文章阐述了单臂路由如何利用路由器单物理接口创建多个子接口,实现不同VLAN间通信,并提供了完整的操作步骤、配置命令及排错方法,帮助网络工程师掌握这一经典网络技术。

698

单精度浮点数存储、双精度浮点数存储

单精度浮点数存储、双精度浮点数存储

fancynthia的博客 1315

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

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

qq_41656402的博客 14万+

第95节:多模型多卡推理管理

多模型推理:在同一硬件平台上同时部署多个不同或相同的深度学习模型,满足多任务需求。多卡推理:利用多块 GPU 资源,提升推理吞吐量与并发能力。目标:合理分配 GPU 资源,实现高效、低延迟的推理服务。

yumeiguo的博客 218

pytorch tensorboard_Tensorboard+PyTorch牛刀小试

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

weixin_39815410的博客 266

当AI写小说——一个被严重低估的工程化战场

摘要 AI小说创作远非简单的prompt生成,而是一项需要系统化工程管理的复杂任务。本文通过真实案例分析,揭示了当前AI写小说存在的五大核心难题:设定一致性难以维持、文风控制缺乏个性、爽感节奏难以把握、长篇记忆能力有限以及平台规则适配困难。研究显示,90%的失败案例源于错误的创作方法,主要表现为对话框式随机生成和模板式同质化创作。要实现高质量的AI小说创作,必须建立包括设定治理、记忆管理、文风校准等在内的全链路工程化体系,而非依赖单一prompt指令。只有采用系统化的人机协同方法,才能突破当前AI创作的质量

sellyogurt的博客 683

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

PyTorch之TensorBoard

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

帅帅de三叔 1892

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

pytorch+tensorboard可视化最简单例子

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

Yonggie的博客 1214

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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、付费专栏及课程。

余额充值