SlowFast报错:ValueError: too many values to unpack (expected 4)

SlowFast报错:ValueError: too many values to unpack (expected 4)

报错细节

  File "/home/user/yuanjinmin/SlowFast/tools/visualization.py", line 81, in run_visualizationfor inputs, labels, _, meta in tqdm.tqdm(vis_loader):
ValueError: too many values to unpack (expected 4)

报错原因

cfg.TENSORBOARD.MODEL_VIS设置为True,此时会执行SlowFast/tools/visualization.py下第83行的代码:

for inputs, labels, _, meta in tqdm.tqdm(vis_loader):

vis_loader中每个可迭代的对象是

可以加个

first_batch = next(iter(vis_loader))
print(first_batch)

进行验证

debug流程及修改

debug方法可参考之前的博文

我是在测试SlowFast模型时遇到的问题,而cfg.TENSORBOARD.MODEL_VISTENSORBOARD的可视化,这个是测试完最后执行的,测试大概需要4-5个小时的时间(单卡3090),因此为了尽快debug需要复制run_net.pyvisualization_net.py,并修改为:

#!/usr/bin/env python3"""可视化模型"""
from slowfast.config.defaults import assert_and_infer_cfg
from slowfast.utils.misc import launch_job
from slowfast.utils.parser import load_config, parse_argsfrom demo_net import demo
from test_net import test
from train_net import train
from visualization import visualizedef main():"""Main function to spawn the train and test process."""# todoimport pydevd_pycharmpydevd_pycharm.settrace('localhost', port=29501, stdoutToServer=True, stderrToServer=True)args = parse_args()print("config files: {}".format(args.cfg_files))for path_to_config in args.cfg_files:cfg = load_config(args, path_to_config)cfg = assert_and_infer_cfg(cfg)# Perform model visualization.if cfg.TENSORBOARD.ENABLE and (cfg.TENSORBOARD.MODEL_VIS.ENABLEor cfg.TENSORBOARD.WRONG_PRED_VIS.ENABLE):launch_job(cfg=cfg, init_method=args.init_method, func=visualize)if __name__ == "__main__":main()

在此基础上debugSlowFast/tools/visualization.py下第83行的代码,可以看到:
在这里插入图片描述
每个可迭代的对象有5个成员,因此在这里多加一个_,即可

    # todo 此处增加了一个_,因为vis_loader的返回值是5个,而原来的是4个# for inputs, labels, _, meta in tqdm.tqdm(vis_loader):for inputs, labels, _, _, meta in tqdm.tqdm(vis_loader):

当然,也可直接将cfg.TENSORBOARD.MODEL_VIS设置为False,建议这个还是不要打开,非常地耗时…
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/678808.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

外企接受大龄程序员吗?

本人知乎账号同公众号:老胡聊Java,欢迎留言并咨询 亲身体会外企经历所见所闻,外企能接受大龄程序员。 1 大概是10年的时候,进一家知名外企,和我一起进的一位manager,后来听下来,年龄35&#xf…

Rust使用HashSet对Vec类型的元素进行去重

在Rust语言中,对Vec类型的元素进行去重,一种常见的方法是使用一个HashSet来帮助我们快速检查元素是否已经存在。以下是使用HashSet对Vec进行去重的示例代码: use std::collections::HashSet;fn main() {let vec_numbers vec![1, 2, 2, 3, 4…

使用 MobaXterm 链接 Ubuntu(Windows子系统)

MobaXterm_Personal_22.1 Ubuntu(Windows子系统)

JavaSE——方法详解

1. 方法的概念 方法就是一个代码片段 . 类似于 C 语言中的 " 函数 " 。 方法存在的意义 : 1. 是能够模块化的组织代码(当代码规模比较复杂的时候). 2. 做到代码被重复使用, 一份代码可以在多个位置使用. 3. 让代码更好理解更简单. 4. 直接调用现有方法开发, 不…

揭秘文件加密利器:24年度最值得信赖的5大加密软件评测

数据安全与隐私保护已成为我们每个人都必须面对的重要问题。 文件加密软件作为保障数据安全的关键工具,其重要性不言而喻。 在众多的加密软件中,哪些软件能够在保障数据安全的同时,又具备良好的易用性和稳定性呢? 本文将为您揭秘…

2024第16届成都教育连锁加盟展6月1日举办 免费参观

2024第16届成都教育连锁加盟展6月1日举办 免费参观 邀请函 主办单位: 中国西部教体融合博览会组委会 承办单位:重庆港华展览有限公司 博览会主题:责任教育科技兴邦 幼教、普教、高教、校外教育、K12学科辅导、婴幼儿教育、兴趣辅导、学…

分布式与一致性协议之ZAB协议(七)

ZAB协议 ZAB协议:如何处理读写请求 你应该有这样的体会,如果你想了解一个网络服务,执行的第一个功能肯定是写操作,然后才会执行读操作。比如,你要了解ZooKeeper,那么肯定会在zkClient.sh命令行中执行写操作(比如crea…

【C++】---继承

【C】---继承 一、继承的概念及定义1、继承的概念2、定义语法格式3、继承基类成员访问方式的变化 二、基类 和 派生类 的对象之间的赋值转换1、赋值规则2、切片(1)子类对象 赋值 给 父类对象(2)子类对象 赋值 给 父类指针&#xf…

java多线程编码应用1——java多线程CompletableFuture使用技巧

在实际项目开发过程中,大部分程序的执行顺序都是按照代码编写的先后顺序,依次从上往下挨个执行的,但是对于统计或者批量操作数据时,是否有更好的方案呢?这时候就可以考虑使用多线程编程,异步并行执行多个任…

【管理咨询宝藏95】SRM采购平台建设内部培训方案

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏95】SRM采购平台建设内部培训方案 【格式】PDF版本 【关键词】SRM采购、制造型企业转型、数字化转型 【核心观点】 - 重点是建设一个适应战略采…

数据挖掘流程是怎样的?数据挖掘平台基本功能有哪些?

数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。 数据挖掘的流程是: 清晰地定义出业务问题,确定数据挖掘的目的。 数据准备: 数据准备包括&am…

机器学习 | 时间序列预测中的AR模型及应用

自回归模型,通常缩写为AR模型,是时间序列分析和预测中的一个基本概念。它们在金融、经济、气候科学等各个领域都有广泛的应用。在本文中,我们将探索自回归模型,它们如何工作,它们的类型和实际例子。 自回归模型 自回…