밑바닥부터 시작하는 딥러닝3 - STEP 3

2021. 3. 10. 22:49개인 공부 공간/딥러닝

Exp 함수 구현

$y=e^x$ 계산을 하는 함수를 구현한다(여기서 e는 자연로그의 밑).

 

class Exp(Function):
  def forward(self, x):
    return np.exp(x)

 

step 2에서 생성한 Sqaure 클래스와 연산만 다르고 수행하는 기능은 동일하다.

함수 연결

Function 클래스의 __call__ 메서드는 입력과 출력이 모두 Variable 인스턴스이므로 함수들을 연결해서 사용 가능하다. ExpSqaure를 연결시키는 코드는 다음과 같다.

 

A = Square()
B = Exp()
C = Square()

x = Variable(np.array(0.5))
a = A(x)
b = B(a)
y = C(b)
print(y.data)

 

실행 결과

1.648721270700128

 

여기서 A,B,C는 함수이고 x,a,b,y는 모두 변수이다. 이와 같이 여러 함수를 연결해 구성한 함수를 합성 함수라고 한다.


출처:- 사이토 고키, 『밑바닥부터 시작하는 딥러닝3』, 개앞맵시, 한빛미디어(2020)

출처: https://privatedevelopnote.tistory.com/81 [개인노트]