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

news2025/1/10 1:42:04

文章目录

  • 一、项目复现的问题及其解决方案
    • 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 update

sudo 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.coloradmin.cn/o/1947314.html

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

相关文章

Nginx 怎样处理请求的缓存数据清理策略?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01; 文章目录 Nginx 怎样处理请求的缓存数据清理策略&#xff1f;一、理解 Nginx 缓存的重要性二、Nginx 缓存数据的类型&#xff08;一&#xff09;静态文件缓存&#xff08;…

PHP简单商城单商户小程序系统源码

&#x1f6cd;️轻松开店&#xff0c;触手可及&#xff01;「简单商城小程序」让电商梦想照进现实&#x1f31f; &#x1f389;开店新风尚&#xff0c;「简单商城小程序」引领潮流&#xff01; 还在为繁琐的电商开店流程烦恼吗&#xff1f;想要快速搭建自己的线上商城&#x…

Linux嵌入式学习——数据结构——线性表的链式结构

线性表的链式存储 解决顺序存储的缺点&#xff0c;插入和删除&#xff0c;动态存储问题。 特点&#xff1a; 线性表链式存储结构的特点是一组任意的存储单位存储线性表的数据元素&#xff0c;存储单元可以是连续的&#xff0c;也可以不连续。可以被存储在任意内存未被占…

vue3如何实现分面漏斗图

如下图&#xff1a; 这里我选择采用Vue3g2plot进行实现。 参考网址&#xff1a;https://g2plot.antv.antgroup.com/zh/examples/more-plots/funnel/#facet-transpose 核心代码如下&#xff1a; const data [{ stage: 简历筛选, number: 253, company: A公司 },{ stage: 初…

东京裸机云多IP服务器全面分析

东京裸机云多IP服务器是一种提供多IP地址分配和高性能网络服务的云计算解决方案&#xff0c;广泛应用于需要多IP管理和高稳定性的网络应用。下面将从几个方面具体介绍东京裸机云多IP服务器&#xff0c;rak部落为您整理发布东京裸机云多IP服务器的全面分析。 在数字化时代&#…

Docker 部署常用中间件(redis,rabbitMQ,mysql8,es,kibana,nginx等)亲测成功~~~

Docker 部署常用中间件 在日常开发中必要的环境&#xff0c;大多数都是单点后续持续更新集群模式~~~ docker 安装reids docker pull redis:7.2.5 编辑redis.conf # 绑定地址&#xff0c;默认只允许本机访问 # bind 192.168.1.100 10.0.0.1 # bind 127.0.0.1 ::1 bind 0.0…

学员心得 | 做好这几点,轻松通关云计算HCIE3.0!

烈日当空&#xff0c;骄阳似火&#xff0c;在这炎炎夏日迎来了自己今年一份满意的答卷--华为HCIE云计算“通过”的e妹儿&#xff08;嘿嘿&#xff01;证书也快了&#xff09;。此时此刻&#xff0c;想把自己“辛勤劳作”备考IE的一些经历和建议留给后来的同路人。 “世界上最可…

MySQL练手 --- 619. 只出现一次的最大数字

题目链接&#xff1a;619. 只出现一次的最大数字 思路 这是一个简单题&#xff0c;只出现一次的最大数字&#xff0c;顾名思义&#xff0c;分两个阶段&#xff0c;第一个阶段筛选出只出现一次的数字&#xff0c;第二阶段在生成的新表中筛选出最大值即可。 解题过程 生成一张…

iOS object-C 解答算法:找到所有数组中消失的数字(leetCode-448)

找到所有数组中消失的数字(leetCode-448) 题目如下图:(也可以到leetCode上看完整题目,题号448) 光看题看可能有点难以理解,我们结合示例1来理解一下这道题. 有8个整数的数组 nums [4,3,2,7,8,2,3,1], 求在闭区间[1,8]范围内(即1,2,3,4,5,6,7,8)的数字,哪几个没有出现在数组 …

华为OD机试 - 二叉树计算(Java JS Python C C++)

题目描述 给出一个二叉树如下图所示: 请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。 左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。 输入描述 2行整数,第1行表示二叉…

MySQL数据库-备份恢复

一、MySQL日志管理 1.为什么需要日志 用于排错用来做数据分析了解程序的运行情况&#xff0c;了解MySQL的性能 2.日志作用 在数据库保存数据时&#xff0c;有时候不可避免会出现数据丢失或者被破坏&#xff0c;这样情况下&#xff0c;就必须保证数据的安全性和完整性&#…

Spring AI (五) Message 消息

5.Message 消息 在Spring AI提供的接口中&#xff0c;每条信息的角色总共分为三类&#xff1a; SystemMessage&#xff1a;系统限制信息&#xff0c;这种信息在对话中的权重很大&#xff0c;AI会优先依据SystemMessage里的内容进行回复&#xff1b; UserMessage&#xff1a;用…

c++笔记4

目录 深度优先搜索DFS DFS的复杂度 DFS与递归 递归与暴力枚举 递归树 DFS与栈 DFS的搜索剪枝 搜索剪枝与优化 可行性剪枝 最优化剪枝 减少等效的分支 优化搜索顺序 搜索的记忆化 搜索的复杂度 大多时候&#xff0c;搜索的复杂度都是指数级的。各种剪枝方案&#…

RK3568笔记四十三:MPU6050驱动开发(硬件I2C_3)

若该文为原创文章&#xff0c;转载请注明原文出处。 正点原子提供的I2C有测试ap3216c&#xff0c;SH3001等传感器&#xff0c;根据手册操作可以实现效果。 这里记录使用I2C3驱动MPU6050. 记录原因是前面有模拟I2C&#xff0c;但硬件如何使用&#xff0c;有点不是很清楚&#…

[C++] string管理:深浅拷贝写时拷贝

文章目录 拷贝问题的引入问题代码string类的构造函数String 类的析构函数测试入口函数&#xff08;问题&#xff09;详细分析 浅拷贝深拷贝传统版与现代版的String类传统String类现代版String类 写时拷贝先构造的对象后析构的影响写时拷贝举例及测试样例代码举例测试用例 拷贝问…

BGP之选路MED

原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时&#xff0c;BGP协议会对这些BGP路由的属性进行比较&#xff0c;以确定去往该目标网络的最优BGP路由。BGP路由属性的比较顺序为Preferred Value属性、Local Preference属性、路由生成方式、AS_Path属性、Origin属…

react中路由跳转以及路由传参

一、路由跳转 1.安装插件 npm install react-router-dom 2.路由配置 路由配置&#xff1a;react中简单的配置路由-CSDN博客 3.实现代码 // src/page/index/index.js// 引入 import { Link, useNavigate } from "react-router-dom";function IndexPage() {const …

大数据之Oracle同步Doris数据不一致问题

数据同步架构如下&#xff1a; 出现的问题&#xff1a; doris中的数据条数 源库中的数据条数 总数完全不一致。 出现问题的原因&#xff1a; 在Dinky中建立表结构时&#xff0c;缺少对主键属性的限制 primary key(ID) not enforced 加上如上语句&#xff0c;数据条数解决一致 …

WPF+Mvvm项目入门完整教程-仓储管理系统(二)

目录 一、搭建一个主界面框架二、实现步骤1.主界面区域划分2.主界面区域实现 一、搭建一个主界面框架 主要实现主界面的框架样式和基础功能。这里特别说明一下&#xff0c;由于MvvmLight 已经过时不在维护&#xff0c;本项目决定将MvvmLight框架变更为 CommunityToolkit.Mvvm …

标题:探索pdf2image:将PDF文档转化为图像的Python魔法

标题&#xff1a;探索pdf2image&#xff1a;将PDF文档转化为图 像的Python魔法 背景 在数字时代&#xff0c;我们经常需要处理各种格式的文档&#xff0c;尤其是PDF文件。PDF以其跨平台的可读性和稳定性而广受欢迎。然而&#xff0c;有时我们需要将PDF文件转换成图像格式&am…