深度学习复盘与论文复现E

文章目录

  • 一、项目复现的问题及其解决方案
    • 1、 Cannot find DGL C++ graphbolt library
    • 2、 “is“ with a literal. Did you mean “==“?”
    • 3、运行SEG、SPG查看GATNet的网络结构
    • 4、关于LI-FPN项目找不到数据粒度不匹配问题
    • 5、关于LI-FPN项目num_samples为空
    • 6、解决路径问题
    • 7、 !ssize.empty() in function 'resize'
    • 8、读取数据问题
    • 9、关于yaml配置文件问题
    • 10、下载所需数据
    • 11、运行Absolution_openface.py
    • 12、关于mmcv 的一系列问题
    • 13、基准安装
    • 14、'dgl.function' has no attribute 'copy_src'
    • 15、ZINC.pkl 缺失问题
    • 16、 'DGLHeteroGraph' on'dgl.heterograph'
    • 17、 np.ndarray of type numpy.object_.
    • 18、E: Unable to locate package tmux
  • 二、项目开始训练
    • 1、关于论文
    • 2、训练完成

在这里插入图片描述


本期复现论文:Two-stage Temporal Modelling Framework for Video-based Depression Recognition using Graph Representation

https://ieeexplore.ieee.org/document/10572478

在这里插入图片描述

一、项目复现的问题及其解决方案

1、 Cannot find DGL C++ graphbolt library

FileNotFoundError: Cannot find DGL C++ graphbolt library
在这里插入图片描述

  • 解决方法:在命令行终端执行 pip install dgl 没有效果后 在设置package 中进行安装

2、 “is“ with a literal. Did you mean “==“?”

“SyntaxWarning: “is“ with a literal. Did you mean “==“?”
在这里插入图片描述

原因:
从 python 3.8 开始,使用 is 和 is not 运算符时,会抛出 SyntaxWarning 语句警告信息

  • 解决方法:将对应语句中is/is not用== 和 != 代替

MTB_DFE运行结果
在这里插入图片描述

3、运行SEG、SPG查看GATNet的网络结构

序列图表示(SEG)和频谱图表示(SPG)
在这里插入图片描述

在这里插入图片描述

  • 连接服务器运行一下

在这里插入图片描述
在这里插入图片描述

4、关于LI-FPN项目找不到数据粒度不匹配问题

在这里插入图片描述

在这里插入图片描述

  • 解决方法:发现这里的测试数据和训练数据居然是字符串,进行重新按格式导入数据集即可

5、关于LI-FPN项目num_samples为空

在这里插入图片描述

  • 解决方法:还是数据集没有处理好,重新按格式导入数据集即可

6、解决路径问题

  • 输出结果如下贴图,发现243_1/243_1 明显是截取目录出错了

在这里插入图片描述

  • 解决方法:正确引入路径

7、 !ssize.empty() in function ‘resize’

在这里插入图片描述
在这里插入图片描述

  • 解决方法:尝试对一个空的或未正确初始化的数据结构 进行大小调整(resize)操作。正确引入数据即可

8、读取数据问题

在这里插入图片描述

  • 解决方法:还是数据集没有处理好, 导致读取数据问题

9、关于yaml配置文件问题

在这里插入图片描述

  • 解决方法:如下图
    在这里插入图片描述

10、下载所需数据

在这里插入图片描述

  • 解决方法:Failed 原因可能是连接不上,多尝试即可

11、运行Absolution_openface.py

在这里插入图片描述

  • 解决方法:查看结构和shape

12、关于mmcv 的一系列问题

#from mmcv.runner import get_dist_info, init_dist
from mmengine.dist.utils import get_dist_info, init_dist

在这里插入图片描述

  • 解决方法:通过查找官方文档发现

在这里插入图片描述

13、基准安装

在这里插入图片描述
在这里插入图片描述

  • 解决方法:等待安装即可

14、‘dgl.function’ has no attribute ‘copy_src’

AttributeError: module ‘dgl.function’ has no attribute ‘copy_src’
在这里插入图片描述
安装了最新的DGL包,之前的一些功能可能省略,或者是合并成了新功能

在这里插入图片描述

  • 解决方法:修改为 dgl.function.copy_u

在这里插入图片描述

# msg = fn.copy_u(src='h', out='m')
msg = fn.copy_u('h', 'm')

15、ZINC.pkl 缺失问题

在这里插入图片描述

  • 解决方法:等待安装即可

16、 ‘DGLHeteroGraph’ on’dgl.heterograph’

Can’t get attribute ‘DGLHeteroGraph’ on <module ‘dgl.heterograph’

在这里插入图片描述

解决方法

  • 解决方法:找到服务器的lib 库中进行替换 site-packages

在这里插入图片描述

17、 np.ndarray of type numpy.object_.

TypeError: can’t convert np.ndarray of type numpy.object_. The only
supported types are: float64, float32, float16, complex64, complex128,
int64, int32, int16, int8, uint8, and bool.

在这里插入图片描述
在这里插入图片描述

  • 解决方法
labels = torch.tensor(np.array(labels)).unsqueeze(1)
labels=labels.astype(float) 

在这里插入图片描述

labels = torch.tensor(labels, dtype=torch.float32).unsqueeze(1)

18、E: Unable to locate package tmux

sudo apt-get updatesudo apt-get install tmux

在这里插入图片描述

二、项目开始训练

  • 调试了好久BUG 终于开始训练不过在排除各种各样的BUG的时候学到了许多,收获满满!! 🚀🔥

在这里插入图片描述

1、关于论文

  • MTB模块:对于AVEC2013和AVEC2014数据集的实验,使用了由三个ResNet-.50网铬组成的MTB模块,这些网络在VG-GFace2上进行了预训练。具体来说,通过三个分支来考虑三个空间尺度,这些分支分别将输入序列(即包含30帧,每帧大小为3×112×112)编码为包含8顿的序列,大小分别为256×28×28、512×14×14和2048×4×4(即特征图的数量、高度和宽度)。

  • MTB模块的最终输出包括三个时序特征图集,每个时序特征图集由1024个特征图组成,大小为1×4×4。最后,将每个特征映射集转换为2048维的一维潜在特征向量,从而形成DFE模块的输入。

  • DFE模块DFE模块由MTA模块和NS模块组成。MTA模块由三个独立捕获每个时间尺度显著信息的非局部模块和三个增强每个特征对相关信息的相互关注模块组成。NS模块是一个标准的编码器,包含四个1-D卷积层,分别有1024、512、128和32个内核。

  • 在NS模块的训练过程中,共享的无凹陷编码器与凹陷编码器的架构相同。

  • 抑郁症识别模型:采用的GAT模型包含一个GAT层,一个读出层和三个FC层,附加RLU激活函数。特别地,我们采用了“均值”运算来聚合读出层中节点的特征。

python main_molecules_graph_regression.py --dataset ZINC --gpu_id 0 --config   
'configs/molecules_graph_regression_GatedGCN_ZINC_100k.json' # for GPU
python main_molecules_graph_regression.py --dataset AQSOL --gpu_id 0 --config   
'configs/molecules_graph_regression_GatedGCN_AQSOL_100k.json' # for GPU

2、训练完成

在这里插入图片描述
在这里插入图片描述

  • 后续补坑 关于MAE与预期相差太大,大致原因已经找到,经过Debug发现,读的的源数据就是有问题的😢

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Java | Leetcode Java题解之第273题整数转换英文表示

题目&#xff1a; 题解&#xff1a; class Solution {String[] singles {"", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"};String[] t…

PHP基础语法(四)

一、字符串类型 1、字符串定义语法 1&#xff09;单引号字符串&#xff1a;在单引号内部&#xff0c;所有的字符都会按照字面意义解释&#xff0c;不会进行变量替换或转义处理&#xff0c;除了 \ 表示单引号本身。 $str1 Hello, World!;2&#xff09;双引号字符串&#xff…

数据库——单表查询

一、建立数据库mydb8_worker mysql> use mydb8_worker; 二、建立表 1.创建表 mysql> create table t_worker(department_id int(11) not null comment 部门号,-> worder_id int(11) primary key not null comment 职工号,-> worker_date date not null comment…

qt SQLite学习记录

1. 查看qt中数据库的驱动的类型的支持 QStringList drivers QSqlDatabase::drivers();//获取qt中所支持的数据库驱动类型foreach(QString driver,drivers){qDebug()<<driver;}2. Qt SQL 模块包含的主要类的功能介绍 Qt SQL 模块包含了一些主要的类&#xff0c;用于在 …

传输层协议——TCP

TCP协议 TCP全称为“传输控制协议”&#xff0c;要对数据的传输进行一个详细的控制。 特点 面向连接的可靠性字节流 TCP的协议段格式 源/目的端口&#xff1a;表示数据从哪个进程来&#xff0c;到哪个进程4位首部长度&#xff1a;表示该TCP头部有多少字节&#xff08;注意它…

大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

SQL注入万字详解,基于sqli-labs(手注+sqlmap)

目录 一、什么是SQL 1.什么是SQL 2.SQL的作用 3.MySQL基础知识 4.SQL增、删、改语句 *5.SQL查询语句 二、什么是SQL注入 1.SQL注入原理&#xff1a; 2.SQL注入&#xff1a; 3.SQL注入危害&#xff1a; 4.SQL注入技术分类&#xff1a; 5.防御方法&#xff1a;使用参…

javaEE-01-tomcat

文章目录 javaWebTomcat启动 Tomcat 服务器测试服务器是否成功停止tomcat服务器修改服务器的端口号 Idea整合tomcat服务器 javaWeb 所有通过 Java 语言编写可以通过浏览器访问的程序的总称,是基于请求和响应来开发的。 请求: 客户端给服务器发送数据(Request)响应: 服务器给客…

萝卜快跑:自动驾驶的先锋与挑战

萝卜快跑&#xff1a;自动驾驶的先锋与挑战 近段时间&#xff0c;由萝卜快跑引发的自动驾驶事件如火如荼&#xff0c;成为科技领域的热门话题。萝卜快跑作为自动驾驶领域的重要参与者&#xff0c;其最新事件引发了广泛的关注和讨论。 萝卜快跑是百度推出的自动驾驶出行服务平台…

Pytorch使用教学2-Tensor的维度

在PyTorch使用的过程中&#xff0c;维度转换一定少不了。而PyTorch中有多种维度形变的方法&#xff0c;我们该在什么场景下使用什么方法呢&#xff1f; 本小节我们使用的张量如下&#xff1a; # 一维向量 t1 torch.tensor((1, 2)) # 二维向量 t2 torch.tensor([[1, 2, 3], …

common-intellisense:助力TinyVue 组件书写体验更丝滑

本文由体验技术团队Kagol原创~ 前两天&#xff0c;common-intellisense 开源项目的作者 Simon-He95 在 VueConf 2024 群里发了一个重磅消息&#xff1a; common-intellisense 支持 TinyVue 组件库啦&#xff01; common-intellisense 插件能够提供超级强大的智能提示功能&…

Java设计模式—单例模式(Singleton Pattern)

目录 一、定义 二、应用场景 三、具体实现 示例一 示例二 四、懒汉与饿汉 饿汉模式 懒汉模式 五、总结 六、说明 一、定义 二、应用场景 ‌单例模式的应用场景主要包括以下几个方面&#xff1a; ‌日志系统&#xff1a;在应用程序中&#xff0c;通常只需要一个日…

【JS逆向课件:第十三课:异步爬虫】

回顾 并行和并发 表示程序/计算机具有处理多个任务的能力 并行表示可以同时处理多个任务&#xff08;几个多核CPU&#xff09;并发无法同时处理多个任务&#xff0c;但是可以基于时间片轮转法在多任务间快速切换的执行任务。 同步和异步 在基于并行或者并发处理任务的时候&am…

链式法则和自动求导

向量链式法则 说明&#xff1a; 1.第一个式子&#xff0c; y是标量&#xff0c;u是标量&#xff0c;x是n维向量 2.第二个式子&#xff0c;y是标量&#xff0c;u是k维向量&#xff0c;x是n维向量&#xff0c;所以y对u求导是k维的行向量&#xff0c;u对x求导是k行n列的矩阵&…

学术研讨 | 区块链治理与应用创新研讨会顺利召开

学术研讨 近日&#xff0c;国家区块链技术创新中心组织&#xff0c;长安链开源社区支持的“区块链治理与应用创新研讨会”顺利召开&#xff0c;会议围绕区块链治理全球发展现状、研究基础、发展趋势以及区块链行业应用创新展开研讨。北京大学陈钟教授做了“区块链治理与应用创…

ESP32-S3-DevKitC-1开发记录帖——与MPU6050进行姿态检测

目录 MPU6050传感器——姿态检测 1.姿态检测 1.1 基本认识 1&#xff09;坐标系 2&#xff09;姿态角的关系 3&#xff09;陀螺仪检测的缺陷 4&#xff09;利用加速度计检测角度 5&#xff09;利用磁场检测角度 1.2 姿态融合与四元数 1.3传感器工作原理 1.4 MPU6050模…

【PyTorch】图像多分类项目

【PyTorch】图像二分类项目 【PyTorch】图像二分类项目-部署 【PyTorch】图像多分类项目 【PyTorch】图像多分类项目部署 多类图像分类的目标是为一组固定类别中的图像分配标签。 目录 加载和处理数据 搭建模型 定义损失函数 定义优化器 训练和迁移学习 用随机权重进行训…

one-api 源码调试配置

本文主要介绍通过 VSCode 调试 one-api 源码。 一、环境配置 1.1 VSCode 和 one-api 安装 首先,确保已经安装了 VSCode(下载链接)和 one-api 源码(下载链接)已下载并安装了依赖 1.2 安装 Go 插件 在 VSCode 中,安装 Go 插件。 1.3 安装 dlv 调试包 可以通过下载源码…

【黑马java基础】多线程

什么是线程&#xff1f; 线程(Thread)是一个程序内部的一条执行流程。 这个是一条执行流程&#xff0c;虽然有循环&#xff0c;但是最后只有一条流程往前推进&#xff0c;所以视为一条。 程序中如果只有一条执行流程&#xff0c;那这个程序就是单线程的程序。 程序是指令序列…

Ubuntu20.04安装Elasticsearch

简介 ELK&#xff08;Elasticsearch, Logstash, Kibana&#xff09;是一套开源的日志管理和分析工具&#xff0c;用于收集、存储、分析和可视化日志数据。以下是如何在Ubuntu服务器上安装和配置ELK堆栈以便发送和分析日志信息的步骤。 安装Elasticsearch 首先&#xff0c;安…