当前位置: 首页 > article >正文

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

笔者在pytorch论坛看到一段代码,源代码中调用了两次model,在测试时笔者发现调用多次model的结果仍然如此。
经过ptrblck大神的解答,似乎是pytorch中有缓存的策略,可以将变量使用到的内存留在缓存池中重复使用。
PyTorch 会在后台管理内存池(memory pool)。当你删除或覆盖一个变量时,PyTorch 并不会立即将这块内存归还给操作系统,而是将其加入到缓存中,以便后续再分配给其他变量。这样,后续的内存分配可以直接从缓存中拿到空闲内存,从而避免了频繁的内存分配和释放,提升了程序的性能。

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


http://www.kler.cn/a/422085.html

相关文章:

  • 实数与复数频谱掩蔽在音频分离中的应用
  • WPF_1
  • Scala身份证号if else if else查询省份
  • 每日一题:golang并发 mutex、context
  • 【论文阅读】Adversarial gradient-based meta learning with metric-based test
  • 什么是 Socket?
  • 005 MATLAB符号微积分
  • 数仓项目常见问题解答
  • Narya.ai正在寻找iOS工程师!#Mixlab内推
  • linux下环境变量的使用
  • 基于Java Springboot时间管理微信小程序
  • NLP 相关知识的构成
  • MR30分布式 IO 模块助力印刷设备,开启收益新篇
  • python脚本:Word文档批量转PDF格式
  • el-input输入校验,只允许输入数字或者带一个小数点的数字。
  • Linux环境部署RocketMQ单节点以及双主双从集群环境
  • 算法笔记:力扣146.LRU缓存
  • ubuntu无线网络共享到有线
  • 在 Windows Server 2022 Datacenter 上配置 MySQL 8.0 的主从复制
  • vscode切换anaconda虚拟环境解释器不成功