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

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

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

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

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

相关推荐
是枚小菜鸡儿吖11 小时前
CANN 的安全设计之道:AI 模型保护与隐私计算
人工智能
leo030811 小时前
科研领域主流机械臂排名
人工智能·机器人·机械臂·具身智能
薛定谔的猫喵喵11 小时前
天然气压力能利用系统综合性评价平台:基于Python和PyQt5的AHP与模糊综合评价集成应用
开发语言·python·qt
yuluo_YX11 小时前
Reactive 编程 - Java Reactor
java·python·apache
独好紫罗兰11 小时前
对python的再认识-基于数据结构进行-a004-列表-实用事务
开发语言·数据结构·python
ZH154558913111 小时前
Flutter for OpenHarmony Python学习助手实战:模块与包管理的实现
python·学习·flutter
人工智能AI技术11 小时前
GitHub Copilot免费替代方案:大学生如何用CodeGeeX+通义灵码搭建AI编程环境
人工智能
Chunyyyen11 小时前
【第三十四周】视觉RAG01
人工智能·chatgpt
是枚小菜鸡儿吖11 小时前
CANN 算子开发黑科技:AI 自动生成高性能 Kernel 代码
人工智能·科技