본문 바로가기
728x90
반응형

AI Coding/Pytorch8

[Pytorch] torch.nn 과 torch.nn.functional pytorch를 이용해 코딩을 하다 보면 같은 기능에 대해 torch.nn 과 torch.nn.functional 두 방식으로 제공하는 함수들이 여럿 있습니다. ▶ torch.nn이 제공하는 기능들 - Parameters - Conv - Pooling - Padding - Non-linear Activation Function - Normalization - Linear - Dropout - Loss - ....... ​ ▶ torch.nn.functional이 제공하는 기능들 - Conv - Pooling - Non-linear Activation Function - Normalization - Dropout - Loss - ....... ​ 두 방식 모두 같은 결과를 제공해주지만 차이점도 존재합니다... 2023. 2. 5.
[Pytorch] Dataset과 Dataloader 2(Custom) 이전 게시물에 이어 Dataset과 Dataloader를 커스텀하는 방법에 대해 작성하겠습니다. ​ ▶ 먼저! Custom Dataset과 Dataloader가 필요한 이유가 무엇일까요? 딥러닝을 이용하는 거의 모든 작업들에서는 상당히 많은 양의 데이터를 이용하여 학습을 진행합니다. 그런데, 이 엄청난 양의 데이터를 한번에 불러오려면 시간도 오래 걸리고, 메모리 부족 현상이 발생할 수 있습니다. 데이터를 한번에 다 로드하지 않고 조금씩만 불러다 쓰면 이런 문제를 해결할 수 있겠죠! 이전 게시물에서 설명했던 Dataset은 모든 데이터를 한번에 불러오는 방식이었습니다. 데이터를 조금씩 불러오기 위해서는 custom Dataset을 만들어야 합니다. 또한 데이터 속에는 서로 다른 길이의 input이 있을 수.. 2023. 2. 5.
[Pytorch] Dataset과 Dataloader 1(Basic) custom Dataset과 Dataloader에 대해 설명하기 전에 pytorch에서 제공하는 Dataset과 Dataloader의 기본적인 사용법 부터 설명하도록 하겠습니다. ​ 파이토치에서는 데이터를 좀 더 편리하게 다룰 수 있도록 데이터셋(Dataset)과 데이터로더(DataLoader)라는 모듈을 기본적으로 제공합니다. 이를 사용하면 batch size 설정, 데이터 셔플(shuffle, 랜덤하게 데이터를 전달), 병렬 처리까지 파라미터로 간단히 조절하여 수행하는 것이 가능해집니다. 기본적인 사용 방법은 Dataset을 정의하고, 이를 DataLoader에 전달하는 것입니다. 간단한 사용법을 설명하기 위해 Float형 텐서를 입력받아 Dataset의 형태로 변환해주는 TensorDataset을 .. 2023. 2. 5.
[Pytorch] cross entropy loss 에 3차원 input 사용하기 분류기를 통과한 후 나온 현재 tensor의 구조는 다음과 같습니다. (batch_size, max_len, num_classes) 이를 아래와 같은 순서로 변경해주어야 합니다. (batch_size, num_classes, max_len) 참고 사이트에 따르면 두번째 자리에 항상 클래스 수가 와야 합니다. ​ 참고: https://stackoverflow.com/questions/63648735/pytorch-crossentropy-loss-with-3d-input Pytorch crossentropy loss with 3d input I have a network which outputs a 3D tensor of size (batch_size, max_len, num_classes). My grou.. 2023. 2. 5.
728x90
반응형