728x90
반응형

TENSOR 3

PyTorch 3 - 데이터 로더, 신경망

DataLoader와 스토캐스틱 경사하강법¶ 딥러닝은 하나의 중요한 알고리즘으로 많이 발전하게 되었다. 바로 스토캐스틱 경사하강법이다. 기존의 경사하강법은 한 epoch에 모든 데이터셋을 한번에 학습시킨다. 스토캐스틱 경사하강법은 이 큰 데이터셋을 여러개로 나누고, 나눠진 데이터의 서브셋 마다 학습을 시킨다. 이것을 기존 경사하강법의 근사치로 보면 될것이다. 이 하나의 서브셋을 배치 또는 미니배치라고 부른다. In [101]: import torch from torch import autograd, nn, optim import torch.nn.functional as F import numpy as np def lin(a,b,x): return a*x+b # 가짜 데이터 생성 def gen_fake_d..

PyTorch 2 - 로지스틱 회귀

PyTorch를 활용한 로지스틱회귀¶ 로지스틱회귀는 주어진 데이터를 0이나 1값으로 분류하는 선형 분류 모델이다. In [176]: import torch from torch import autograd, nn, optim import torch.nn.functional as F import numpy as np In [177]: lin = lambda a, b, x : a*x + b def gen_fake_data(n, a, b): x = np.random.uniform(-20, 20, (n, 2)) x2_hat = lin(a,b, x[:,0]) y = x[:,1] > x2_hat return x, y.astype(int) # 분류문제에 맞는 가짜 데이터를 생성한다 x, y = gen_fake_data..

PyTorch 1 - 텐서

PyTorch 기본¶ 먼저 PyTorch의 주요 패키지들을 가져온다. torch는 PyTorch의 최상위 패키지이고, Numpy와 비슷하지만, Tensor라는 N차원벡터를 GPU위에서 다룰 수 있는 패키지이다. torch.autograd는 경사하강법 및 미분을 자동으로 해주는 패키지이다. torch.nn은 여러 많이 사용되는 신경망들의 구현체를 가지고있는 패키지이다. torch.optim은 SGD나 Adam을 비롯한 여러가지 최적화 함수들을 가지고있는 패키지이다. PyTorch 텐서¶ 위에서 언급한 것 처럼 텐서는 N차원벡터들을 의미한다. 아래는 PyTorch에서 텐서를 어떻게 사용하는지 보여주는 코드이다. In [2]: import torch from torch import autograd, nn, o..

728x90
반응형