当前位置:   article > 正文

动手学深度学习——卷积层里的多个输入和输出通道_输入通道有三个,输出通道只有一个,怎么变成三个

输入通道有三个,输出通道只有一个,怎么变成三个

1、多个输入通道

彩色图像可能有RGB三个通道,转化为灰度会丢失信息。

每个通道都有一个卷积核,结果是所有通道卷积结果的和。

用公式表示:

2、多个输出通道

无论有多少个输入通道,到目前为止我们只用到单输出通道;我们可以有多个三维卷积核,每个核生成一个输出通道。

每个输出通道可以识别特定模式;输入通道核识别并组合输入中的模式。

3、1x1的卷积层

kh=kw=1是一个受欢迎的选择,他不识别空间模式,只是融合通道;

1x1的卷积层也可以说是全连接层;

卷积层通常⽤来调整⽹络层之间的通道数,并控制模型复杂度。
4、总结
输出通道数是卷积层的超参数;
每个输入通道有独立的二维卷积核,所有通道结果相加得到一个输出通道结果;
每个输出通道有独立的三维卷积核。
5、代码实现
  1. import torch
  2. from torch import nn
  3. import sys
  4. sys.path.append("..")
  5. import d2lzh_pytorch as d2l
  6. """多输入通道
  7. 实现含多个输入通道的互相关运算。我们只需要对每个通道做互相关运算,然后通过add_n函数来进行累加
  8. """
  9. def corr2d_multi_in(X, K):
  10. # 沿着X和K的第0维(通道维)分别计算再相加
  11. res = d2l.corr2d(X[0, :, :], K[0, :, :])
  12. for i in range(1, X.shape[0]):
  13. res += d2l.corr2d(X[i, :, :], K[i, :, :])
  14. return res
  15. #构造数组x和数组k来验证互相关运算的输出
  16. X = torch.tensor([[[0, 1, 2], [3, 4, 5], [6, 7, 8]],[[1, 2, 3], [4, 5, 6], [7, 8, 9]]])
  17. K = torch.tensor([[[0, 1], [2, 3]], [[1, 2], [3, 4]]])
  18. print(corr2d_multi_in(X, K))
  19. """多输出通道
  20. 实现一个互相关运算函数来计算多个通道的输出
  21. """
  22. def corr2d_multi_in_out(X, K):
  23. # 对K的第0维遍历,每次同输⼊X做互相关计算。所有结果使⽤stack函数合并在⼀起
  24. return torch.stack([corr2d_multi_in(X, k) for k in K])
  25. K = torch.stack([K, K + 1, K + 2]) #构成一个通道数为三的卷积核
  26. print(K.shape)
  27. #此时在输出有三个通道
  28. print(corr2d_multi_in_out(X, K))
  29. """1x1卷积层
  30. 窗口大小为1x1的多通道卷积层,输⼊和输出具有相同的⾼和宽。输出中的每个元素来⾃输⼊中在⾼和宽上相同位置的元素在不同通道之间的按权᯿累加。
  31. 假设我们将通道维当作特征维,将⾼和宽维度上的元素当成数据样本,那么 卷积层的作⽤与全连接层等价。
  32. """
  33. #使用全连接层中的举矩阵乘法来实现1x1卷积。
  34. def corr2d_multi_in_out_1x1(X, K):
  35. c_i, h, w = X.shape
  36. c_o = K.shape[0]
  37. X = X.view(c_i, h * w)
  38. K = K.view(c_o, c_i)
  39. Y = torch.mm(K, X) # 全连接层的矩阵乘法
  40. return Y.view(c_o, h, w)
  41. X = torch.rand(3, 3, 3)
  42. K = torch.rand(2, 3, 1, 1)
  43. Y1 = corr2d_multi_in_out_1x1(X, K)
  44. Y2 = corr2d_multi_in_out(X, K)
  45. print((Y1 - Y2).norm().item() < 1e-6)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/612907
推荐阅读
相关标签
  

闽ICP备14008679号