본문 바로가기

분류 전체보기175

[Pytorch] Numpy에서 Tensor로 PyTorch에서 Numpy array를 Tensor 자료형으로 바꾸기 위한 방법을 알아보자. 데이터를 읽어와서 네트워크의 입력인 Tensor로 변환하여 Dataset를 만드는데 다음과 같은 연산이 필요하다. Pytorch의 2가지 변환함수와 그 차이점은 아래와 같다. torch.Tensor() 와 torch.from_numpy() torch.Tensor() 는 Numpy array의 사본일 뿐이다. 그래서 tensor의 값을 변경하더라도 Numpy array자체의 값이 달라지지 않는다. 하지만 torch.from_numpy()는 자동으로 input array의 dtype을 상속받고 tensor와 메모리 버퍼를 공유하기 때문에 tensor의 값이 변경되면 Numpy array값이 변경된다. 예시를 통해 .. 2021. 6. 21.
[Pytorch] CNN을 이용한 MNIST 이전에 DNN을 통해 MNIST data를 가지고 분류(classification)를 진행하였다. 이번에는 Convolutional Neural Network (CNN)을 통해서 똑같은 Task를 진행하고자 한다. 이전과는 다른 버전의 코드로 진행한다. 라이브러리 Import하기 import torch import torchvision.datasets as dsets import torchvision.transforms as transforms import torch.nn.init GPU 사용 가능에 따라 랜덤시드 고정 만약 gpu 사용이 가능하면 device 값이 cuda가 되고, 사용이 불가하면 cpu가 된다. device = 'cuda' if torch.cuda.is_available() else .. 2021. 6. 7.
[Pytorch] DNN을 이용한 MNIST 라이브러리 Import하기 Pytorch에서 Deep Neural Network(DNN)를 설계하기 위해 필요한 라이브러리를 Import한다. #Importing Library import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim from torchvision import datasets, transforms DNN 모델 MNIST 데이터는 28x28로 총 784개의 픽셀로 이루어져 있다. 그렇기 때문에 784를 입력 크기 값으로 받는다. 네트워크는 총 6개의 레이어로 이루어져 있으며 숫자의 종류(0~9)에 따라 마지막 출력단은 10개로 설정한다. 각각의 활성함수(activation fun.. 2021. 6. 7.
[Pytorch] 튜토리얼(2) 라이브 러리 imort 하기 import torch 다양한 방법을 통한 tensor(=matrix)를 생성하기 [방법 1] x = torch.empty(5, 3) print(x) >>> tensor([[1.0358e-22, 4.5701e-41, 1.0358e-22], [4.5701e-41, 7.3867e+20, 2.0027e-19], [1.7258e+25, 7.2065e+31, 2.7490e+20], [9.1041e-12, 2.8884e+12, 7.5338e+28], [2.7518e+12, 7.5338e+28, 1.1703e-19]]) 1. torch.empty()는 5x3 matrix를 구성하면서 초기화되지 않은 데이터로 값을 채움을 의미합니다. 2. x를 출력합니다. [방법 2] x = torch.r.. 2021. 5. 17.