인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

qkdl7717님의 프로필 이미지
qkdl7717

작성한 질문수

[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지

주가 예측 - 순환신경망(RNN)

model 선언할떄 .to(device) 하는 이유가 궁금해요

작성

·

4.8K

1

model = VanillaRNN(input ~~~, device = device).to(device) 에서

괄호 안에 디바이스를 gpu로 선언해줬는데

밖에 to(device)를 하는 이유가 궁금해요

 

그리고 out.shape[0]은 출력값인거 알겠는데

원래 out은 형태가 어떻게 생겼는지 궁금해요

답변 1

0

딥러닝호형님의 프로필 이미지
딥러닝호형
지식공유자

안녕하세요.

텐서 연산 시에 모든 텐서가 동일한 operation(전부 cpu나 전부 gpu)을 사용해야 합니다.

따라서 밖에 .to(device)는 모델 파라메터에 대해 gpu을 사용할 수 있도록 하는 것이고 내부에 넣은 .to(device)는 모델 파라메터가 아닌 h0를 gpu용 텐서를 만드려는 용도입니다.

(h0은 모델 파라메터가 아니므로 밖에 .to(device)에 영향을 받지 않습니다.)

h0 = torch.zeros(self.num_layers, x.size()[0], self.hidden_size).to(self.device)

그리고 out의 형태가 궁금하시면 바로 윗줄에 print(out.shape)를 넣어서 확인하시면 되요!

 

감사합니다.

qkdl7717님의 프로필 이미지
qkdl7717

작성한 질문수

질문하기