学习记录:神经网络之三维卷积conv3d操作(1)

PyTorch对1个1通道的2x2x2的体积数据,使用一个1x1x1的卷积核进行卷积,输出通道数变为2。

import torch

# 定义输入数据
input_data = torch.randn(1, 1, 2, 2, 2)

print(input_data.shape)  # 输入数据大小为 [1, 1, 2, 2, 2]
print(input_data)

# 定义卷积层
conv_layer = torch.nn.Conv3d(in_channels=1,
                             out_channels=2,
                             kernel_size=1)

# 执行卷积操作
output_data = conv_layer(input_data)

print(output_data.shape)  # 输出数据大小为 [1, 2, 2, 2, 2]
print(output_data)

输出结果 :

torch.Size([1, 1, 2, 2, 2])
tensor([[[[[ 0.4288, -0.4255],
           [ 0.7242,  0.5814]],

          [[-0.5070,  0.1907],
           [ 1.1417,  0.2423]]]]])
torch.Size([1, 2, 2, 2, 2])
tensor([[[[[ 0.8344,  0.1135],
           [ 1.0836,  0.9632]],

          [[ 0.0447,  0.6335],
           [ 1.4360,  0.6770]]],


         [[[ 0.1553,  0.9422],
           [-0.1167,  0.0148]],

          [[ 1.0173,  0.3747],
           [-0.5013,  0.3271]]]]], grad_fn=<ConvolutionBackward0>)

对于输入1通道的2x2x2的体积数据,可以说明共有8个元素

-----------------------------------------------------------------------------------------------

[[ 0.4288, -0.4255],
 [ 0.7242,  0.5814]]    可以表示体积数据第一层的4个元素

-----------------------------------------------------------------------------------------------

[[-0.5070,  0.1907],
 [ 1.1417,  0.2423]]    可以表示体积数据第二层的4个元素

-----------------------------------------------------------------------------------------------

[[[ 0.4288, -0.4255],
  [ 0.7242,  0.5814]],

 [[-0.5070,  0.1907],
  [ 1.1417,  0.2423]]]    表示整个2x2x2的体积数据,也就是8个元素

-----------------------------------------------------------------------------------------------

可以观察到2x2x2的体积数据使用了3个方括号[ ],代表的是三维数据

而整个输入张量tensor()中有5个[ ],代表的是五维数据,也就是torch.Size([1, 1, 2, 2, 2])

对于输出2通道的2x2x2的体积数据,可以说明共有16个元素

-----------------------------------------------------------------------------------------------

[[[ 0.8344,  0.1135],
  [ 1.0836,  0.9632]],

 [[ 0.0447,  0.6335],
  [ 1.4360,  0.6770]]]    表示第一个通道的2x2x2的体积数据,共8个元素

-----------------------------------------------------------------------------------------------

[[[ 0.1553,  0.9422],
  [-0.1167,  0.0148]],

 [[ 1.0173,  0.3747],
  [-0.5013,  0.3271]]]    表示第二个通道的2x2x2的体积数据,共8个元素

-----------------------------------------------------------------------------------------------

[[[[ 0.8344,  0.1135],
   [ 1.0836,  0.9632]],

  [[ 0.0447,  0.6335],
   [ 1.4360,  0.6770]]],


 [[[ 0.1553,  0.9422],
   [-0.1167,  0.0148]],

  [[ 1.0173,  0.3747],
   [-0.5013,  0.3271]]]]    表示整个2通道的2x2x2的体积数据,也就是16个元素

-----------------------------------------------------------------------------------------------

可以观察到2通道的2x2x2的体积数据使用了4个方括号[ ],代表的是四维数据

而整个输出张量tensor()中有5个[ ],代表的是五维数据,也就是torch.Size([1, 2, 2, 2, 2])

猜你喜欢

转载自blog.csdn.net/weixin_47247597/article/details/130581881
今日推荐