(X, W)
| 38 | |
| 39 | # same size as input |
| 40 | def convolve2d(X, W): |
| 41 | n1, n2 = X.shape |
| 42 | m1, m2 = W.shape |
| 43 | Y = np.zeros((n1 + m1 - 1, n2 + m2 - 1)) |
| 44 | for i in range(n1): |
| 45 | for j in range(n2): |
| 46 | Y[i:i+m1,j:j+m2] += X[i,j]*W |
| 47 | ret = Y[m1//2:-m1//2+1,m2//2:-m2//2+1] |
| 48 | assert(ret.shape == X.shape) |
| 49 | return ret |
| 50 | |
| 51 | # smaller than input |
| 52 | # def convolve2d(X, W): |
no outgoing calls
no test coverage detected