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

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

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

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,必须全程稀疏矩阵计算,否则不可能在普通电脑上跑

相关推荐
默_笙3 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_426003963 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技3 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
猎头南楼3 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
只睡四小时3 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
高洁013 天前
未来三年,AI 落地的五个确定性判断一
人工智能·深度学习·机器学习·transformer·知识图谱
奇思妙想聪明勤奋的小羊3 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1233 天前
2026年第38周GitHub趋势周报
python·科技·github