-
-
Save kenorb/8babf334e1a578fd1face6c86410cfa1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def conv_forward(X, W): | |
''' | |
The forward computation for a convolution function | |
Arguments: | |
X -- output activations of the previous layer, numpy array of shape (n_H_prev, n_W_prev) assuming input channels = 1 | |
W -- Weights, numpy array of size (f, f) assuming number of filters = 1 | |
Returns: | |
H -- conv output, numpy array of size (n_H, n_W) | |
cache -- cache of values needed for conv_backward() function | |
''' | |
# Retrieving dimensions from X's shape | |
(n_H_prev, n_W_prev) = X.shape | |
# Retrieving dimensions from W's shape | |
(f, f) = W.shape | |
# Compute the output dimensions assuming no padding and stride = 1 | |
n_H = n_H_prev - f + 1 | |
n_W = n_W_prev - f + 1 | |
# Initialize the output H with zeros | |
H = np.zeros((n_H, n_W)) | |
# Looping over vertical(h) and horizontal(w) axis of output volume | |
for h in range(n_H): | |
for w in range(n_W): | |
x_slice = X[h:h+f, w:w+f] | |
H[h,w] = np.sum(x_slice * W) | |
# Saving information in 'cache' for backprop | |
cache = (X, W) | |
return H, cache |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment