代码一:
import torch
a=torch.randn((2,1,3,4))
print('a=',a)
b=a[:,0]
print('b=',b)
a= tensor([[[[-0.3767, -0.8647, -0.6132, -0.5862],
[ 0.5800, 0.3467, -0.4182, -0.0916],
[ 0.6316, -0.6858, -0.2674, 0.1670]]],
[[[-0.1980, -0.7904, -1.1460, 1.4207],
[-0.0893, 0.2657, -0.1714, 0.0230],
[ 0.1632, 0.8553, 1.6556, -0.1242]]]])
b= tensor([[[-0.3767, -0.8647, -0.6132, -0.5862],
[ 0.5800, 0.3467, -0.4182, -0.0916],
[ 0.6316, -0.6858, -0.2674, 0.1670]],
[[-0.1980, -0.7904, -1.1460, 1.4207],
[-0.0893, 0.2657, -0.1714, 0.0230],
[ 0.1632, 0.8553, 1.6556, -0.1242]]])
可以看出代码一相当于把通道维度压缩了
代码二:
import torch
a=torch.randn((2,2,3,4))
print('a=',a)
b=a[:,0]
print('b=',b)
代码二模拟生成两个特征图,每个特征图有两个channel,宽高为3和4
a= tensor([[[[ 0.1237, 0.9523, -0.0208, -0.8758],
[ 0.4308, 0.3393, 0.0697, 0.0206],
[ 0.5322, 0.3302, -2.2941, 1.1660]],
[[-0.2208, 0.4693, -0.8774, 1.4004],
[-2.5176, -0.3753, 0.1951, 0.3845],
[ 1.1252, 0.6507, -0.8537, 0.8822]]],
[[[-0.8990, 1.0145, 1.1724, -1.3846],
[-0.1402, -2.3992, -0.0735, 0.7676],
[-1.5613, 0.1181, 2.2502, 1.7849]],
[[ 0.0421, 1.0093, -0.5084, 0.8766],
[-1.0246, 0.2210, -0.5652, -1.4182],
[ 0.1860, -0.3156, -0.4796, -0.6364]]]])
b= tensor([[[ 0.1237, 0.9523, -0.0208, -0.8758],
[ 0.4308, 0.3393, 0.0697, 0.0206],
[ 0.5322, 0.3302, -2.2941, 1.1660]],
[[-0.8990, 1.0145, 1.1724, -1.3846],
[-0.1402, -2.3992, -0.0735, 0.7676],
[-1.5613, 0.1181, 2.2502, 1.7849]]])
红色部分为黄色部分组合而成,相当于只保留了这两个特征图的第0通道