728x90

딥러닝 & 머신러닝 5

[Fashion Mnist] pytorch train & test코드

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 1. Fashion Mnist 간단한 모델의 trainning 코드 import torchvision import torchvision.transforms as transforms import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim from torchsummary import summary import platform import matplotlib.pyplot as plt import numpy as np def imshow(img)..

[Pytorch] 3. torch 라이브러리 내부 구조 분석 (Convolution)

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 1, 2편에서 대충 어떻게 initialize되고 C extension이 되는지에 대해 동작 원리를 파악했다. 나는 현재 하려는 건 Convolution layer의 동작을 파악하여 channel-wise든 spatial-wise든 좀 더 분산 처리하는 방향의 모델을 연구하고자 하는 것이었기 때문에 Conv layer의 동작 방식을 이해하는게 필요하였다. 그래서 이번에는 Conv layer 위주의 분석을 진행하였다. 실제 모델을 만들 때 쓰이는 Convolution layer는 /torch/nn/modules/conv.py 에 정의가 되어 있다. co..

[Pytorch] 2. torch 라이브러리 내부 구조 분석 (Module.cpp, THP 모듈)

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 지금까지 살펴본 바를 정리하자면 import torch를 하게 되면 torch 라이브러리의 __init__,py가 실행됨 __init__.py에서는 from torch._C import *를 통해 C extension module을 Load 함 _C module들은 _C 폴더에 pyi 파일로 정의되어 있고 이는 torch/csrc/Module과 연결되어 있음 실제로 Module.cpp 파일에 __init__.py에 _initExtension 같은 함수들이 정의가 되어있음 그럼 Module.cpp에서의 주요 함수에 대해 알아보았다. [ Module.cp..

[Pytorch] 1. torch 라이브러리 내부 구조 분석 (cpython, ctype, __init__)

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 [환경 구성하기] 나는 아나콘다 환경에서 해보려고 Anaconda 용 Pytorch를 선택했다. CUDA는 11.1이 깔려있었는데 파이토치는 11.0까지 지원한다 해서 다운그레이드 하였다 ㅠㅠ. 다운그레이드 하는 방법은 이전 글을 참고. conda create –n pytorch_env conda activate pytorch_env conda install matplotlib conda install pylint conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch 아나콘다..

728x90