def test_sigmoid_2_backward(self): print('\n==================================') print(' Test sigmoid backward ') print('==================================') np.random.seed(123) x = np.random.randn(5, 5) sigmoid = Sigmoid() out = sigmoid.forward(x) dx = sigmoid.backward(x, 0.0) correct_dx = [ [-0.2048748, 0.19633044, 0.06934706, -0.22376078, -0.13318844], [0.22297909, -0.18096644, -0.10244393, 0.21720183, -0.18059114], [-0.15157559, -0.02362423, 0.2236528, -0.14447372, -0.10570044], [-0.10362309, 0.1971545, 0.1984592, 0.19703887, 0.09303448], [0.16139223, 0.22364718, -0.18937883, 0.21188431, -0.21658554] ] e = rel_error(correct_dx, dx) print('Relative difference:', e) self.assertTrue(e <= 1e-7)
결과는 아래와 일치해야 합니다: Forward: [[0.26894142 0.88079708 0.62245933] [0.5 0.47502081 0.52497919]] Backward: [[0. 0.10499359 0. ] [0.25 0. 0.24937604]] """ sigmoid = Sigmoid() temp4 = np.array([[-1, 2, 0.5], [0.0, -0.1, 0.1]]) temp5 = np.array([[0, 1, 0], [1, 0, 1]]) print('Forward: \n', sigmoid.forward(temp4)) print('Backward: \n', sigmoid.backward(temp5)) print() print('===== InputLayer Check =====') """ The results should be exactly same as below: 결과는 아래와 일치해야 합니다: Forward: [[1.69405863 0. ] [1.41846232 0. ]] dW: [[ 1. 0.] [-3. 0.] [-2. 0.]] db: