Initializing variables

SHIN·2024년 11월 25일
0
class TimeRNN:  # multiple time step data capable
    def __init__(self, Wx, Wh, b, stateful=False):
        self.params = [Wx, Wh, b]
        self.grads = [np.zeros_like(Wx), np.zeros_like(Wh), np.zeros_like(b)]
        self.layers = None

        self.h, self.dh = None, None
        self.stateful = stateful # n개 입력일때 n개 출력 할거냐?

    def forward(self, xs): #sequence input
        Wx, Wh, b = self.params
        N, T, D = xs.shape # N : batch, T : sequence,  D: data length
        D, H = Wx.shape

        self.layers = [] # 왜 init에서 안해주고 forward 에서 해주나?불필요한 메모리 방지. forward 호출 전 까지는 메모리 사용하지 않음.

self.layers, __init__에서 초기화 하지 않고forward에서 초기화 하는 이유

  • 불필요한 메모리 방지
    Forward가 호출 되기 전 까지는 메모리 사용을 하지 않는 이점이 있다.
profile
HAPPY the cat

0개의 댓글