import torch
import torch.nn as nn
'''二维卷积层'''
'''该函数计算二维互相关运算'''
def corr2d(X,K):
h,w=K.shape
#首先构造出运算过后的矩阵形状并用0填充
Y=torch.zeros((X.shape[0]-h+1,X.shape[1]-w+1))
for i in range(Y.shape[0]):
for j in range(Y.shape[1]):
Y[i,j]=(X[i:i+h,j:j+w]*K).sum()
return Y
X = torch.tensor([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
K = torch.tensor([[0, 1], [2, 3]])
print(corr2d(X, K))
#%%
'''图像中物体的边缘检测'''
#构造一个简单的图像,中间为黑,两边为白
X = torch.ones(6,8)
X[:,2:6] = 0
print(X)
#构