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

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

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

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

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

相关推荐
jerryinwuhan几秒前
python数据挖掘基础
python·数据挖掘·numpy
echome8883 分钟前
Python 异步编程实战:asyncio 核心概念与最佳实践
开发语言·网络·python
轮到我狗叫了7 分钟前
GAN初次阅读
人工智能·神经网络·生成对抗网络
一只土卜皿8 分钟前
列线图/诺莫图 含概率轴
人工智能
yunyun321238 分钟前
自动化与脚本
jvm·数据库·python
造夢先森8 分钟前
【白话神经网络(三)】从Transformer到XXX
人工智能·神经网络·transformer
暮冬-  Gentle°9 分钟前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
setmoon2149 分钟前
构建一个基于命令行的待办事项应用
jvm·数据库·python
研究点啥好呢19 分钟前
3月22日GitHub热门项目推荐|网页浏览,何须手动
人工智能·python·开源·github
zl_vslam20 分钟前
SLAM中的非线性优-3D图优化之相对位姿Between Factor-四元数(十二)
人工智能·算法·计算机视觉