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

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

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

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

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

相关推荐
xiaoeshuo5 小时前
产品介绍PPT模板哪家强?8个平台实测对比
人工智能
惊讶的猫6 小时前
《动手学大模型智能体》(Hands-on AI Agent)
人工智能
找方案6 小时前
北京砸1亿支持智能体:Agent创业迎来黄金窗口期
大数据·人工智能·microsoft
Revolution616 小时前
多个 Agent 同时工作时,主 Agent 怎样接收队友结果
人工智能·llm·claude
不加辣椒6 小时前
第8章:工具调用与多模态上下文集成
人工智能
葡萄城技术团队6 小时前
三大适配场景:释放AI Coding真实落地价值(四)
人工智能
MomentYY6 小时前
RAG 混合检索:关键词 + 语义
人工智能·agent·ai编程
Black蜡笔小新6 小时前
EasyAIS+国标GB28181视频监控平台EasyCVR强强联动,全域视频AI识别能力落地!
大数据·人工智能·音视频
Microvision维视智造6 小时前
智能工厂等级自检表:梯度培育,你的工厂在第几级?
人工智能·计算机视觉·视觉检测·机器视觉
时光不负努力6 小时前
skill 定义 + 多个skill 协作
人工智能·openai