[PyTorch] MNIST 숫자 손글씨 데이터셋 학습
·
PyTorch
PyTorch를 이용해 MNIST 숫자 데이터셋을 학습시키고 onnx모델로 변환한다. 1학년 때 TensorFlow로 진짜 대충 배우고 뭔지도 모른 채로 MNIST 데이터를 학습시킨 적이 있었는데, 현재 진행 중인 DeepSeg 프로젝트를 통해 보다 발전시켜본다.  1. 라이브러리 import 및 기본 설정# mnist.pyimport numpy as npimport torchfrom torch import nnfrom torch.utils.data import Subsetfrom torch.utils.data import DataLoaderimport torchvisionfrom torchvision import transforms as trimport torch.nn.functional as Fimp..
[PyTorch] Model Structure & Parameters
·
PyTorch
모델의 구조 및 가중치를 확인하는 방법을 정리한다.  torchsummary는 모델의 구조와 모델 변수를 간략히 알려주는 라이브러리이다. pip install torchsummary별도의 설치가 필요하다. import torchfrom torch import nnimport torch.nn.functional as Ffrom torchsummary import summary# GPU 또는 CPU 장치 설정device = torch.device("cuda" if torch.cuda.is_available() else "cpu")class Regressor(nn.Module): def __init__(self): super().__init__() self.fc1 = nn.Lin..
[PyTorch] Cross-Validation(교차 검증)
·
PyTorch
기본적인 모델의 학습과 평가 과정은 학습 데이터로 학습하고 평가 데이터로 성능을 확인한다. 그리고 평가 데이터에서 가장 성능이 높은 모델을 고르게 된다.  하지만 이때 과적합이 발생할 수 있기에 이를 보완하기 위해 검증 데이터를 사용할 수 있다. 전체 데이터를 학습/검증/평가 데이터로  나누고 학습 데이터로 모델 학습 -> 검증 데이터로 모델 평가 및 최적화 -> 평가 데이터로 최종 평가를 수행한다. 여기서 k-Fold Cross-Validation(k겹 교차 검증)은 학습 데이터 전체를 사용하면서 검증할 수 있는 방법으로 머신러닝 분야에서 매우 널리 쓰이는 검증 방법이다.  학습 데이터를 k개로 나누어 1개는 검증 데이터로, 나머지 k-1개는 학습 데이터로 사용한다. 따라서 k번의 검증 과정이 필요하기..
[PyTorch] MLP(Multi-Layer Perceptron) Regression(다층 퍼셉트론을 이용한 회귀)
·
PyTorch
선형 회귀식은 nn.Layer()가 하나 있는 모델을 의미한다. 선형식은 모든 데이터를 직선으로 예측하기 때문에 학습이 매우 빠르다는 장점이 있지만, 데이터 내의 변수들을 일반적으로 비선형 관계를 갖기 때문에 선형 모델을 이용한 예측에는 한계가 있다.  nn.Layer()을 여러개 연결해 다층 신경망을 구성하여 집값 예측 회귀 모델을 구성해본다.  import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split # 데이터 나누기import torchfrom torch import nn, optim # nn: 신경망 레이어, optim: 최적화 알고리즘from torch.utils.data import Da..
[PyTorch] Linear Regression - torch.nn
·
PyTorch
[PyTorch] Linear Regression(선형 회귀) - Autograd — zerogod 코코딩딩 [PyTorch] Linear Regression(선형 회귀) - Autograd이전 포스트에서 다루었던 Gradent Tensor에 이어 간단한 선형회귀식을 구현해본다.  선형회귀는 (x, y)로 정의되는 data set에 대해 각 데이터 (x, y)와 최단 거리를 이루는 직선을 찾는 것이다. 즉, 입zerogod-ai-dev.tistory.com이전에 Autograd를 공부하며 간단하게 구현했던 선형 회귀 모델을 torch.nn을 이용하여 구현해본다.  우선 torch.nn은 PyTorch의 인공신경망 모듈로, 딥러닝/머신러닝 모델을 만드는데 필요한 레이어와 기능들을 모아 놓은 라이브러리이다...
[PyTorch] 데이터 로드 및 전처리 기본
·
PyTorch
학습 데이터와 테스트 데이터를 로드하는 방법과, 이를 PyTorch에서 다룰 수 있도록 tensor 변환 등 전처리하는 방법에 대해 기술한다.  import torchimport torchvisionimport torchvision.transforms as trfrom torch.utils.data import DataLoader, Datasetimport numpy as npimport matplotlib.pyplot as plt# 1. GPU 장치 설정device = torch.device( "cuda" if torch.cuda.is_available() else "cpu") # GPU 사용 여부 설정라이브러리 import 및 GPU 설정 # 2. 데이터 전처리 변환transf = tr.Com..
zerogod-ai-dev
'PyTorch' 카테고리의 글 목록