当前位置:   article > 正文

pytorch 实现卷积层_torch定义一个卷积层代码

torch定义一个卷积层代码
  1. import torch
  2. from torch import nn
  3. def corr2d(X, K):
  4. h, w = K.shape
  5. Y = torch.zeros((X.shape[0] - h + 1, X.shape[1] - w + 1))
  6. for i in range(Y.shape[0]):
  7. for j in range(Y.shape[1]):
  8. Y[i, j] = (X[i: i + h, j: j + w] * K).sum()
  9. return Y
  10. class Conv2D(nn.Module):
  11. def __init__(self, kernel_size):
  12. super(Conv2D, self).__init__()
  13. self.weight = nn.Parameter(torch.randn(kernel_size))
  14. self.bias = nn.Parameter(torch.randn(1))
  15. def forward(self, x):
  16. return corr2d(x, self.weight) + self.bias
  17. conv2d=Conv2D(kernel_size=(2,2))
  18. print(conv2d.weight.data)
  19. print(conv2d.bias.data)
  20. x=torch.ones(6,6)
  21. y=conv2d(x)
  22. print(y.shape)

参考文献:

pytorch学习笔记(十九):二维卷积层_pytorch二维卷积kernal_size和_逐梦er的博客-CSDN博客

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

闽ICP备14008679号