python实现Convolution

不借助深度学习框架,直接使用numpy实现一个卷积操作

import numpy as np

mat = np.array([[1,2,3,4,5,6,7,8],
              [1,2,3,4,5,6,7,8],
              [1,2,3,4,5,6,7,8],
              [1,2,3,4,5,6,7,8],
              [1,2,3,4,5,6,7,8],
              [1,2,3,4,5,6,7,8],
              [1,2,3,4,5,6,7,8],
              [1,2,3,4,5,6,7,8]])

k = np.array([[0,0,0],
              [0,1,0],
              [0,0,0]])
out = np.zeros([6, 6])
res = 0
for i in range(6):
    for j in range(6):
        res = 0
        for m in range(3):
            for n in range(3):
                res += mat[i+m,j+n]*k[m,n]
        out[i,j] = res

        print(out)
print(out)

你可能感兴趣的:(AI,code)