-
Notifications
You must be signed in to change notification settings - Fork 0
/
layer_utils.py
45 lines (37 loc) · 1.7 KB
/
layer_utils.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
pass
from stats232a.layers import *
def fc_relu_forward(x, w, b):
"""
Convenience layer that perorms an affine transform followed by a ReLU
Inputs:
- x: Input to the affine layer
- w, b: Weights for the affine layer
Returns a tuple of:
- out: Output from the ReLU
- cache: Object to give to the backward pass
"""
out, cache = None, None
###########################################################################
# TODO: Implement fc-relu forward pass. #
###########################################################################
out_fc,cache_1 = fc_forward(x,w,b)
out,cache_2 = relu_forward(out_fc)
cache = [cache_1,cache_2]
############################################################################
# END OF YOUR CODE #
############################################################################
return out, cache
def fc_relu_backward(dout, cache):
"""
Backward pass for the affine-relu convenience layer
"""
dx, dw, db = None, None, None
###########################################################################
# TODO: Implement the fc-relu backward pass. #
###########################################################################
out_relu_b= relu_backward(dout,cache[1])
dx,dw,db = fc_backward(out_relu_b,cache[0])
############################################################################
# END OF YOUR CODE #
############################################################################
return dx, dw, db