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

在PyTorch中,有了y = x + y,为什么还需要y += x,有什么好处呢?

在今天之前,我以为"y += x"相比于"y = x + y"的好处仅仅是写的更加紧凑,直到我看到《动手学习深度学习》后,才发现,原来还有节省内存的作用。

我们用一个例子来理解一下:

PyTorch中有一个函数id(),可以展现出内存中引用对象的确切地址。

我们先用下面的程序看一下"y = x + y"的运行前后,y所指向的内存位置变化:

打印的结果为:

可以看到执行"y = x + y"的前后,y所指向的内存位置是不一样的。

这是因为,先计算x + y,并将结果存储到了一个新的内存地址中,然后,让y指向这个新的内存地址。

接着,我们执行"y += x":

打印的结果为:

可以看到执行"y = x + y"的前后,y所指向的内存位置是一样的。

Reference:

1.《动手学习深度学习》

http://www.dtcms.com/a/216451.html

相关文章:

  • cursor使用mcp
  • 基于Matlab实现各种光谱数据预处理
  • 数据库相关问题
  • 工控安全审计与网络流量监控系统的协同防御
  • 字节跳动推出开源多模态模型 BAGEL 从图像生成到世界建模
  • Solana账户创建与Rust实践全攻略
  • 什么是Windows内存压缩? win10/11系统启用和禁用内存压缩的教程
  • 图标变白,开始菜单栏无法打开程序(以jupyter为例)
  • 让jupyter notebook显示目录
  • Lua中的`self`参数:揭秘隐藏的“对象上下文”
  • Word 目录自动换行后错位与页码对齐问题解决教程
  • Spring Security Token 认证原理
  • AG32 DMAC实现内部MCU与FPGA通信【知识库】
  • 智慧康养护理:科技重塑老龄化社会的健康守护体系
  • idea 控制台 彩色打印日志
  • Redis学习打卡-Day8-Redis实践
  • 新型隐球菌脑膜炎智能诊疗系统技术方案
  • Linux中磁盘分区与挂载
  • linux 通过命令将 MinIO 桶的权限设置为 Custom(自定义策略)
  • STM32F407VET6学习笔记5:STM32CubeMX配置串口工程_HAL库
  • Android系统 TinyAlsa命令
  • 三防平板科普:有什么特殊功能?应用在什么场景?
  • 什么是大端序,什么是小端序,如何记忆它们!!!
  • 深度学习常见实验问题与实验技巧
  • C++ 初始化大全
  • 阿里云云网络论文:Nezha,计算网络解耦下的vSwitch池化架构
  • 三品PLM产品全生命周期管理功能清单 三品PLM系统赋能企业产品全生命周期管理
  • 开疆智能Profinet转Profibus网关连接施耐德ATV610变频器案例
  • Web3怎么本地测试连接以太坊?
  • 车载网关策略 --- 车载网关通信故障处理机制深度解析