【pytorch】pytorch的缓存策略——计算机分层理论的另一大例证

笔者在pytorch论坛看到一段代码,源代码中调用了两次model,在测试时笔者发现调用多次model的结果仍然如此。

经过ptrblck大神的解答,似乎是pytorch中有缓存的策略,可以将变量使用到的内存留在缓存池中重复使用。

PyTorch 会在后台管理内存池(memory pool)。当你删除或覆盖一个变量时,PyTorch 并不会立即将这块内存归还给操作系统,而是将其加入到缓存中,以便后续再分配给其他变量。这样,后续的内存分配可以直接从缓存中拿到空闲内存,从而避免了频繁的内存分配和释放,提升了程序的性能。

这就相当于在内存上加了一层pytorch的内存池,原来使用完直接释放的模式变为了使用后通过内存池再释放的模式。

相关推荐
楚兴几秒前
MacBook M1 安装 OpenClaw 完整指南
人工智能·后端
23遇见6 分钟前
探索CANN:开源AI计算底座的关键组件与技术思想
人工智能
jl486382112 分钟前
变比测试仪显示屏的“标杆“配置!如何兼顾30000小时寿命与六角矢量图精准显示?
人工智能·经验分享·嵌入式硬件·物联网·人机交互
2301_8187305622 分钟前
transformer(上)
人工智能·深度学习·transformer
一晌小贪欢23 分钟前
Python 爬虫进阶:如何利用反射机制破解常见反爬策略
开发语言·爬虫·python·python爬虫·数据爬虫·爬虫python
木枷28 分钟前
Online Process Reward Learning for Agentic Reinforcement Learning
人工智能·深度学习·机器学习
躺平大鹅33 分钟前
5个实用Python小脚本,新手也能轻松实现(附完整代码)
python
m0_5637451137 分钟前
误差卡尔曼滤波在VINS-mono中的应用
人工智能·机器学习
yukai0800838 分钟前
【最后203篇系列】039 JWT使用
python
恣逍信点1 小时前
《凌微经 · 理悖相涵》第六章 理悖相涵——关系构型之模因
人工智能·科技·程序人生·生活·交友·哲学