로그인 바로가기 하위 메뉴 바로가기 본문 바로가기
PROJECT
난이도
기본

파이토치로 시작하는 딥러닝 기초

임시 이미지 Deep Learning Zero To All
http://www.boostcourse.org/ai214/forum/26116
좋아요 635 수강생 9652

안녕하세요 

프로젝트 C를 진행중인 수강생입니다.

 

7. 네트워크 설계

class SimpleLSTM(nn.Module):
    def __init__(self, hidden_size=100, num_layers=1):
        super().__init__()
        self.hidden_size = hidden_size
        self.num_layers = num_layers
        ## 코드 시작 ##
        self.lstm = nn.LSTM(input_size=9, hidden_size=self.hidden_size, num_layers=self.num_layers, batch_first=True)        # 위의 설명 1. 을 참고하여 None을 채우세요.
        self.fc = nn.Linear(self.hidden_size, 1)          # 위의 설명 2. 를 참고하여 None을 채우세요.
        ## 코드 종료 ##
    
    def init_hidden(self, batch_size):
        # 코드 시작
        hidden = torch.zeros((self.num_layers, batch_size, self.hidden_size))           # 위의 설명 3. 을 참고하여 None을 채우세요.
        cell = torch.zeros((self.num_layers, batch_size, self.hidden_size))             # 위의 설명 3. 을 참고하여 None을 채우세요.
        # 코드 종료
        return hidden, cell
    
    def forward(self, x):
        # hidden, cell state init
        h, c = self.init_hidden(x.size(0))
        h, c = h.to(x.device), c.to(x.device)
        ## 코드 시작 ##
        out, (h, c) = self.lstm(x, (h, c))      # 위의 설명 4. 를 참고하여 None을 채우세요.  
        final_output =     # 위의 설명 5. 를 참고하여 None을 채우세요.
  
        ## 코드 종료 ##
        return final_output

에서 문제를 겪고 있습니다. forward부분에서 final_output의 shape가 (batch_size, 1)이 되어야 하는데

fc를 지나도 shape이 원하는대로 변하지 않습니다.


혹시 이 글을 보시고 quf9483@naver.com 메일로 코드를 보내주시거나 답변 남겨주시면 감사합니다.