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

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

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

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

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

相关推荐
意图共鸣几秒前
意图共鸣科技《认知智能白皮书》——认知操作系统(COS):大模型之上的“认知中间件”如何调度边界
人工智能·科技·架构
升鲜宝供应链及收银系统源代码服务几秒前
升鲜宝 AI 报表原型与接口设计报表模板、交互原型、数据接口与集成规范(一)---升鲜宝生鲜配送供应链管理系统源代码服务
大数据·人工智能·生鲜供应链源代码·供应链源代码出售·生鲜配送源代码服务·门店连锁系统源代码·猪肉生产加工系统源代码
字节高级特工3 分钟前
【Linux】深入理解C语言命令行参数与环境变量
linux·c++·人工智能·后端
念恒123065 分钟前
Python 函数完全指南:定义与调用
开发语言·python
Ajie'Blog5 分钟前
AI 编程工具怎么选:Claude Code、Cursor、GitHub Copilot 与 Ollama 指南
人工智能·github·copilot
逸A6 分钟前
某里v2反混淆 codec 化路上踩到的两个隐蔽坑:被清零的 salt 与 opaque loop bound
javascript·人工智能·目标跟踪
2601_959986248 分钟前
从移动端看MMarkets(评测类)值得关注吗?
大数据·人工智能
code_pgf9 分钟前
多模态技术在主要 AI 应用领域中的应用分析与工程落地建议
人工智能·stable diffusion
用户6919026813399 分钟前
Claude Code 的快捷指令来了!带你快速上手cc提升效率!!
人工智能
坏孩子的诺亚方舟10 分钟前
FPGA神经网络数学基础0
人工智能·神经网络·线性代数·fpga开发