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

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

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

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

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

相关推荐
2501_9413370621 小时前
YOLO11-C3k2-RAB改进模型在航拍军事目标检测中的应用与实现
人工智能·目标检测·目标跟踪
JHC00000021 小时前
智能体造论子--简单封装大模型输出审核器
开发语言·python·机器学习
diediedei21 小时前
Python字典与集合:高效数据管理的艺术
jvm·数据库·python
qwy71522925816321 小时前
9-数字水印的嵌入和提取
人工智能·opencv·计算机视觉
【赫兹威客】浩哥21 小时前
可食用野生植物数据集构建与多版本YOLO模型训练实践
开发语言·人工智能·python
气可鼓不可泄21 小时前
将dmpython 封装在容器镜像里
数据库·python
m0_5613596721 小时前
超越Python:下一步该学什么编程语言?
jvm·数据库·python
2301_810730101 天前
python第三次作业
开发语言·python
小马爱打代码1 天前
Spring AI 实战:Agent 基础搭建与核心能力解析
java·人工智能·spring
历程里程碑1 天前
子串----和为K的子数组
大数据·python·算法·leetcode·elasticsearch·搜索引擎·哈希算法