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

Chapter 2. 자연스러운 코드로(step 11~14)

11. 가변 길이 인수(순전파편)¶ 지금까지 우리는 함수에 입출력 변수가 하나씩인 경우만 생각함 그러나 함수에 따라 여러 변수를 입력받기도 함(반대로 출력이 여러개이기도) 이를 고려하여 DeZero가 가변 길이 입출력을 처리할 수 있도록 확장 11.0 지금까지의 구현¶ In [1]: import numpy as np In [2]: def as_array(x): if np.isscalar(x): return np.array(x) return x def square(x): return Square()(x) def exp(x): return Exp()(x) In [3]: class Variable: def __init__(self, data): if data is not None: # 해당 코드 추가 if n..

1. Auto Gradient(자동미분): 변수/ 함수/ 수치미분/ 역전파

DeZero¶ 해당 내용의 오리지널 프레임워크 해당 내용은 DeZero를 60단계로 나누어, 조금씩 완성하도록 구성함 1.1 Variable?¶ - 상자에 데이터를 넣는 그림에서, 상자의 역할이 변수 - 상자와 데이터는 별개 - 상자에는 데이터가 들어감(대입 or 할당) - 상자 속을 들여다보면 데이터를 알 수 있음(참조) 1.2 Variable class 구현¶ - 파이썬에서는 클래스의 첫 글자 이름을 보통 대문자로 함(PEP8) - Variable 클래스가 상자가 되도록 구현 In [1]: class Variable: def __init__(self, data): self.data = data 초기화 함수 __init__에 주어진 인수를 인스턴스 변수 data에 대입함. 간단한 코드지만, 이를 통해 ..