머신러닝(17)
-
Python(Colab) 파이토치(Pytorch) + 활성화 함수
✔️활성화 함수 (Activation Function) - 신경망의 성능을 향상 시키기 위해 사용한다 - 직선 layer를 여러개 써봐야 1개의 직선이 최선이다. - 선형함수: 입력값과 가중치를 곱한 결과를 그대로 출력 - 신경망에서 여러개의 선형 활성화 함수를 사용한다면, 최중 출력값은 입력값과 가중치의 선형 조합으로 표현 - 이는 입력데이터의 비선형 관계를 표현할수 없다. - 신경망의 입력 데이터의 비선형 관계를 잘 학습할 수 있도록 하기 위해 비선형 활성화 함수를 사용한다. 1. Sigmoid() 주로 은닉층에서 사용하지 않고, 출력층(output layout)에서만 사용 import numpy as np import matplotlib.pyplot as plt def sigmoid(x): retu..
2023.06.21 -
Python(Colab) 파이토치(Pytorch) + 데이터 로더
데✔️ 데이터로더 데이터 양이 많을 때, 배치 단위로 학습하는 방법을 의미한다. 데이터 로더를 적용하여 손글씨 인식하기 1. 데이터 셋 셋팅 및 기초 셋팅 import torch import torch.nn as nn import torch.optim as optim import torchvision.datasets as datasets import torchvision.transforms as transforms import matplotlib.pyplot as plt from sklearn.datasets import load_digits # GPU device = 'cuda' if torch.cuda.is_available() else 'cpu' print(device) 2. 학습데이터 뽑아오기 d..
2023.06.20 -
Python(Colab) 파이토치(Pytorch) + 논리 회귀 (다항)
1. 데이터 셋 설정 x_train = [[1,2,1,1], [2,1,3,2], [3,1,3,4], [4,1,5,5], [5,7,5,5], [6,2,5,6], [7,6,6,6], [8,7,7,7] ] y_train = [0,0,0,1,1,1,2,2] #결과도 3개 x_train = torch.FloatTensor(x_train) y_train = torch.LongTensor(y_train) x_train.shape , y_train.shape 2. 모델 설정 model = nn.Sequential( nn.Linear(4,3) ) # 4개 input 3개 output print(model) 3. 학습하기 y_pred = model(x_train) y_pred 4. 손실율 확인후 반복 학습 #🔴 다항 논리..
2023.06.20 -
Python(Colab) 파이토치(Pytorch) + 다항 선형회귀 해보기
1. 기초설정 #데이터 설정 x_train = torch.FloatTensor([[73,80,75], [93,88,93], [89,91,90], [96,98,100], [73,66,70]]) y_train = torch.FloatTensor([[152],[185],[180],[196],[142]]) print(x_train) print(x_train.shape) print('------------------') print(y_train) print(y_train.shape) 2. 모델 설정 model = nn.Linear(3,1) # 3개가 들어가서 1개가 나온다 print(model) print(list(model.parameters())) 3. 학습하기 optimizer = optim.SGD(mode..
2023.06.20 -
Python(Colab) 파이토치(Pytorch) + 단항 선형회귀 해보기
1개 입력 / 1개 출력 참고사이트 https://rabo0313.tistory.com/entry/pytorch-torchmanualseed [Pytorch] torch.manual_seed() random seed 란 ? numpy 에서도 사용했던 random seed 5개의 난수를 생성 한다고 하면 우리는 np.random.rand(5)로 난수를 생성한다. 연달아서 np.random.rand(5)를 실행한다면 아래처럼, 생성할때마다 매번 서로 다 rabo0313.tistory.com 1. 기초설정 import torch import torch.nn as nn #신경망 모듈 import torch.optim as optim # 기울기와 절편을 학습시키는 알고리즘 import matplotlib.pypl..
2023.06.18 -
Python(Colab) 파이토치(Pytorch)
✔️ 파이토치(Pytorch) - 텐서플로우와 함께 머신러닝, 딥러닝에서 가장 널리 사용되고 있는 프레임워크 - 초기에는 Torch라는 이름으로 Lua언어 기반으로 만들었다. - 후에 파이썬 기반으로 변경한 것이 Pytorch이다. 1. 파이토치 사용하기 import torch 2. 파이토치 버전 확인하기 print(torch.__version__) ✔️ 스칼라: 하나의 상수를 의미 var1 = torch.tensor([1]) var2 = torch.tensor([6.5]) print(var1) print(type(var1)) # 두 스칼라의 연산 print(var1+ var2) print(var1- var2) print(var1* var2) print(var1/ var2) ✔️ 백터:상수가 2개이상 나..
2023.06.18