在PyTorch中可以使用如下操作将BCHW平均分为四份:

  1. 使用view函数将BCHW转换为BC(4HW),然后使用chunk函数将BC(4HW)沿着第二维切分为四份。
  2. 使用unfold函数将BCHW中的H和W维度展开,并使用view函数将展开后的张量转换为B*(4C)*H'W',最后使用chunk函数将B(4C)*H'*W'沿着第二维切分为四份。

其中,第二种方法可以参与学习和反向传播,因为unfold函数和chunk函数都是PyTorch中的可导操作。第一种方法虽然也可以使用可导的view函数和chunk函数,但是在将BCHW转换为BC(4HW)时需要使用不可导的reshape函数,因此不能参与学习和反向传播。

在pytorch中能够将bchw平均分为四份bc4hw的操作有哪些其中哪些可以参与学习和反向传播似的loss数值更小。

原文地址: http://www.cveoy.top/t/topic/bx5O 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录