在pytorch中能够将bchw平均分为四份使得每一份的c为之前的四分之一将四个子特征图存入一个list列表中每个都经过一个conv之后再concat起来的操作有哪些其中哪些可以参与学习和反向传播似的loss数值更小。
操作步骤:
-
使用torch.chunk将bchw tensor分为四份,其中dim=1即c维度上进行分割,分成四份后,每一份的c为之前的四分之一。
-
将四个子特征图存入一个list列表中。
-
对每个子特征图进行卷积操作,可以使用torch.nn.Conv2d或torch.nn.functional.conv2d函数。
-
将四个卷积后的特征图使用torch.cat函数进行拼接。
其中,卷积操作可以参与学习和反向传播,因为卷积层中的权重和偏置会被更新,而torch.chunk和torch.cat操作是固定的,不需要参与学习和反向传播。
因此,卷积操作可以参与计算loss数值,而torch.chunk和torch.cat不会影响loss数值。
原文地址: https://www.cveoy.top/t/topic/bx7W 著作权归作者所有。请勿转载和采集!