본문 바로가기

Python/Pytorch

(2)
[pytorch] pytorch로 구현하는 Attention이 적용된 Seq2Seq 이번 포스팅에서는 pytorch로 Attention 기법이 적용된 Sequence to Sequence 모델을 직접 구현해 보자. 그리고 구현에 앞서 (필자가..) 주로 헷갈리는 시퀀스 데이터가 모델에 들어갈 때의 입/출력 형상이 어떤 과정으로 진행되는지도 살펴보자. 1. 시퀀스 데이터는 모델의 입력으로 어떤 형태(shape)로 들어갈까? Tabular 데이터, 이미지 데이터와는 다르게 시퀀스 데이터는 시퀀스 길이(윈도우 길이)라는 게 존재한다. 그래서 시퀀스 데이터를 처음 다루는 사람에게는 시퀀스 데이터를 딥러닝 모델의 입력으로 넣어줄 때, 어떠한 형상으로 넣어주어야 하는지 또는 모델이 출력을 내뱉었을 때, 그 출력의 형상이 왜 이렇게 되는지에 대해서 헷갈릴 수 있다. 이번 목차에서는 그 헷갈리는 부분..
[Pytorch] 텐서를 복사하는 방법 : clone, detach 이번 포스팅에서는 최근에 Pytorch로 GAN 모델을 구현하면서 알게된 Pytorch의 clone() 메소드와 detach() 메소드에 대해 알아보려고 한다. 파이토치에서 텐서를 복사하는 메소드에는 대표적으로 clone 과 detach가 존재한다. 하지만 이 2가지 사이에는 무슨 차이점이 있을까? 또한 이 2가지 메소드를 조합해서도 사용할 수 있는데, 그러면 조합할 때와 단일하게 사용할 때 간의 차이점은 무엇일까? 우선 이 차이점을 알기 전에 파이토치의 계산 그래프와 AutoGrad 메커니즘에 대해 알아야 이해가 수월할 수 있다. 이 2개는 딥러닝 모델의 순전파, 그리고 역전파 과정을 이해하는 데 필수이다. 필자도 [밑바닥부터 시작한느 딥러닝 시리즈]를 읽으면서 계산 그래프에 대해서 deep-dive하..