본문 바로가기
AI

[Pytorch]패키지 기본구성

by Reodreamer 2022. 9. 13.
반응형

파이토치를 사용하면서 너무 당연해서 이해가 충분하지 않았던 부분에 대해 정리해보고자 한다. 

가장 먼저 패키지들에 대해 정리부터 하고 넘어가자. 

 

1. torch

가장 기본적인 패키지지로 다차원의 텐서를 위한 데이터구조를 포함하고 이러한 텐서들에 대한 수학적인 연산과 관련한 method를 담고 있다. 또 다양한 유틸리티를 포함하고 있다. 

 

크게 Tensors, Creation Ops, Indexing, Slicing, Joining, Mutaing ops 등 다양한 기능의 operation들로 구별할 수 있고 저마다 여러 하위 method들이 있다. 

 

2. torch.nn

신경망을 구성하는 다양한 layer들과 데이터 구조들을 포함한다. CNN, RNN, LSTM과 같은 모델구조 뿐만 아니라 activation functions, polling layer, normalization layer 등 모델을 구성하는 다양한 layer들이 정의되어 있다. 

 

3. torch.autograd

임의의 스칼라나 가치함수를 자동으로 미분하는데 사용하는 필요한 클래스와 함수를 제공하는 패키지이다. 

float와 complex 타입에만 사용가능하다. 

 

4. torch.optim

여러 최적화 알고리즘을 제공하는 패키지이다. torch.optim을 사용하기 위해서는 optimizer 객체를 생성해야하며 이는 현재상태를 유지하고 계산된 기울기를 기반으로 파라미터들을 업데이트 한다.

 

5. torch.utils.data

파이토치에서 데이터를 다루는 핵심인 torch.utils.data.DataLoader 클래스를 포함하고 있다. 또한 기본적인 데이터셋을 불러올 수 있는 utility가 있다. 

 

6. 정리

이외에도 수많은 패키지들이 있지만, 그것들은 실제로 파이토치를 사용하면서 필요에 따라 추가적으로 찾아보면 공부하고 이용하면 충분할 것이라고 생각한다. 이 포스트에서는 기본적으로 사용되는 패키지들만 짚고 넘어간다. 이미 파이토치를 사용하고 있지만, 단순히 기계적으로 사용하는것이 아니라 각각의 패키지들이 어떤 기능을 제공하고 어떨 때 필요한지를 한번 더 점검하고 넘어가는것이 필요하고 미래에도 도움이 되리라 생각한다. 

 

더 많은 패키지들을 알아보고 싶다면 파이토치 공식 documetation을 참고하면 될 것 같다.

https://pytorch.org/docs/stable/index.html

 

 

 

반응형

'AI' 카테고리의 다른 글

[PyTorch]Tensor-part2  (0) 2022.09.15
[PyTorch]Tensor-part1  (0) 2022.09.14
[논문리뷰]Generative Adversarial Nets  (0) 2022.09.13
[논문리뷰]Playing Atari with Deep Reinforcement Learning  (0) 2022.09.05
[논문리뷰]Word2Vec  (0) 2022.09.05

댓글