Colab
https://colab.research.google.com/drive/1PoE9q4uWwayPGQLB7aClKecpuYRsudn2?usp=sharing
PyTorch Tutorial1 : Training a CNN Classifier on Fashion MNIST.ipynb
Colab notebook
colab.research.google.com
어제 학습했던 LSTM stock forecasting 내용이 전부 이해가 되진 않아서 같은 재생목록에 있는 pytorch tutorial 3개를 모두 다 듣기로 하였음 (Tutorial 1)
첫 번째 영상인 CNN Classifier on Fashion MNIST
공부한 내용
- 딥러닝에서 train, test, val dataset을 사용할 때, 직접적으로 사용하지 않고 dataloader을 활용해 wrapping을 우선적으로 수행함
- Dataset을 batch기반의 딥러닝모델 학습을 위해서 미니배치 형태로 만들어서 우리가 실제로 학습할 때 이용할 수 있게 형태를 만들어주는 기능
- DataLoader를 통해 Dataset의 전체 데이터가 batch size로 slice되어 공급됨
- DataLoader는 iterator 형식으로 데이터에 접근 하도록 하며 batch_size나 shuffle 유무를 설정할 수 있음
- CNN에서 필터 한 번만 적용하는 줄 알았는데, 목적에 따라 여러 반 사용하기도 한다.
- 사용하마다 필터 사이즈도 다르게 수행하기도 한다
- 왜 필터사이즈(kernel_size)가 3인가?
- 1을 사용하면 local한 정보를 추출하는 것이 아니라 한 점에서의 정보를 추출하게 됨 → 채널 수 조정 등의 용도로만!
- 2를 사용하면 인식의 왜곡이 생기게 됨
- → 개중에서 가장 작은 filter인 3*3 사용

- 홀수 filter을 사용하면 왼쪽 중앙의 93처럼 상하좌우 대칭을 이루는데, kernel_size가 짝수인 경우 이미지 인식에 왜곡이 발생함
- FCN layer 개수는 왜 2개인가?
- http://winner.ajou.ac.kr/publication/data/conference/18666.pdf
- emprical한 것 같다..
헷갈렸던 부분
- tensor와 numpy를 왔다갔다 하는데, 정확한 기준을 모르겠음
- tensor에서 numpy로 넘어갈 때 reshape를 사용하는데, 차원 순서가 다른 것 같음
- tensor reshape, tensor manipulation 부분 헷갈림. 따로 공부해야 할 것 같음
[PyTorch] - Tensor Manipulation
pytorch 2일차입니다. CNN, LSTM stock forecasting 코드 따라치는데 텐서 조작이 너무 어려워서 trensor manipulation 깔작대어 보려구요 Tensor Indexing import torch x = torch.tensor([[1,2],[3,4]]) print(x) print(x[0]) print(x[:,0]
riverfromscratch.tistory.com

- 결정적으로 코드 따라치면서는 끄덕끄덕 했는데, 혼자 바닥부터 완성할 수 있을 지는 의문임. 같은 코드로 여러 번 실습해야 할 것 같음
+) epoch마다 accuracy를 출력하는 부분에서, 이전의 acc가 계속 더해지는 문제가 발생했음. 30분 걸려서 겨우겨우 찾아냈는데 for문 안에 avg_acc변수를 넣어둬서 계속 더해졌음
Update date
2024.04.12 -