稠密矩阵和稀疏矩阵的对比

稠密矩阵和稀疏矩阵的对比

计算图的邻接矩阵时跑不动,爆内存,运行自动停止:

python 复制代码
GPU state:  True
Dataset: assist2012, Ques number: 53091, Skill number: 265

Killed

Dense(稠密矩阵)

稠密矩阵(dense matrix)就是每个元素都显式存储在内存里的矩阵。

例如一个 3×3 的矩阵:

A = [[1, 0, 2],

0, 0, 3\], \[4, 0, 5\]

在稠密矩阵里,即使很多元素是 0,0 也会占内存存储。

特点:

内存占用 = 元素个数 × 每个元素大小

矩阵乘法、加法等操作都是针对所有元素进行的

小矩阵无所谓,但大矩阵(尤其是几百万 × 几百万)会 爆内存

Sparse(稀疏矩阵)

**稀疏矩阵(sparse matrix)**只存储 非零元素及其索引

上面的矩阵,如果只存非零元素,会存成:

值: [1,2,3,4,5]

行索引: [0,0,1,2,2]

列索引: [0,2,2,0,2]

内存占用 ≈ 非零元素数 × (值+索引)

当矩阵大而且大部分是 0 时,稀疏矩阵内存节省巨大

3️⃣ 为什么你的 G 计算爆内存

你原来的代码:

G = DV2 * H * W * invDE * HT * DV2

H 是 (百万 × 几百)

HT 是 (几百 × 百万)

当你相乘时,中间结果就成了 (百万 × 百万) 的矩阵 dense

即便大部分元素是 0,也会被完整存储,导致内存瞬间 TB 级别 → 爆掉

4️⃣ 总结

Dense 计算 = 所有元素都存储和计算,即使是 0

Sparse 计算 = 只存储非零元素,用稀疏算法计算,节省内存

对你的超图 G,必须全程稀疏矩阵计算,否则不可能在普通电脑上跑

相关推荐
人机与认知实验室4 小时前
人机环境系统智能矩阵理论
线性代数·矩阵
这里有鱼汤5 小时前
你以为 FastAPI 足够强?其实 Litestar 能让你的项目更轻量高效
后端·python
初级炼丹师(爱说实话版)5 小时前
2025算法八股——机器学习——SVM损失函数
算法·机器学习·支持向量机
大学生毕业题目5 小时前
毕业项目推荐:83-基于yolov8/yolov5/yolo11的农作物杂草检测识别系统(Python+卷积神经网络)
人工智能·python·yolo·目标检测·cnn·pyqt·杂草识别
非门由也5 小时前
《sklearn机器学习——聚类性能指标》Fowlkes-Mallows 得分
机器学习·聚类·sklearn
Kyln.Wu5 小时前
【python实用小脚本-205】[HR揭秘]手工党逐行查Bug的终结者|Python版代码质量“CT机”加速器(建议收藏)
开发语言·python·bug
计算机毕业设计木哥5 小时前
Python毕业设计推荐:基于Django的饮食计划推荐与交流分享平台 饮食健康系统 健康食谱计划系统
开发语言·hadoop·spring boot·后端·python·django·课程设计
小草cys6 小时前
在树莓派集群上部署 Distributed Llama (Qwen 3 14B) 详细指南
python·llama·树莓派·qwen
数据科学作家9 小时前
学数据分析必囤!数据分析必看!清华社9本书覆盖Stata/SPSS/Python全阶段学习路径
人工智能·python·机器学习·数据分析·统计·stata·spss