파이썬(92)
-
Python(Colab) 파이토치(Pytorch) + 딥러닝 + CNN 사용해보기
1. 기초설정 import torch import torch.nn as nn import torch.optim as optim 2. 데이터 설정 # 예제 데이터 준비 # 배치 크기 / 채널 / 세로 / 가로 inputs = torch.Tensor(1,1,28,28) print(inputs.shape) 3. 컨볼루젼2d 사용 conv1 = nn.Conv2d(in_channels=1,out_channels=32,kernel_size=3, padding='same') out1 = conv1(inputs) print(out1.shape) 해석 첫번째 ) 1개 입력 데이터 / 32개 출력 데이터 / 필터 사이즈 (3,3) / padding으로 주위가 0(black) 설정 두번째) 예시 데이터를 컨볼루전에 대입 세..
2023.06.21 -
Python(Colab) 파이토치(Pytorch) + 딥러닝 + CNN기초(이미지)
✔️ CNN(Convolutional Neural Networks) - 합성곱 뉴런 신경망 - 형태: 전통적인 뉴럴 네트워크 + 컨볼루셔널 레이어 - 컨볼루셔널 레이어를 통해 입력받은 이미지의 특징을 추출 -> 추출한 특징을 기반으로 기존 뉴럴 네트워크 이용 - 이미지 분류 / 예측에 많이 사용 특징) * 특히 이미지를 분류할 때 DNN(Deep Neural Network)의 문제점을 가지고 있다. * 일반적인 DNN은 1차원 형태의 데이터를 사용 * 2차원 이상의 데이터가 입력되는 경우는 flatten 시켜서 한줄로 데이터를 변환 후 넣어야함. * 이미지의 공간적/지역적 정보가 손실된다. * 따라서 DNN의 문제점을 해결하기 위해 이미지를 그대로 (Raw Input) 받음으로 공간적 / 지역적 정보를 ..
2023.06.21 -
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) + 딥러닝 해보기
✔️ 퍼셉트론(Perceptron) 생물학적 뉴런 : 화학적,전기적 신호를 처리하고 서로 전달하는 연결된 뇌신경 세포 인공 뉴런 : 퍼셉트론이라 불림 -1943년 웨렌 맥컬론, 월터 피츠가 단순화된 뇌세포 개념을 발표 논리회귀(단층 퍼셉트론)으로 or문제 풀기 문제: 0,1중 1개라도 1이 있으면 정답은 1 import torch import torch.nn as nn import torch.optim as optim X = torch.FloatTensor([[0,0],[0,1],[1,0],[1,1]]) y= torch.FloatTensor ([[0],[1],[1],[1]]) model = nn.Sequential( nn.Linear(2,1), nn.Sigmoid() ) optimizer = optim...
2023.06.20 -
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) + 논리 회귀 (와인품종 예측)
목표: 13개 성분을 분석하여 어떤 품종에 와인인지 예측하자 1. 데이터셋 : sklearn.datasets.load_wine (학습데이터 80%, 테스트 데이터 20%) from sklearn.datasets import load_wine import pandas as pd from sklearn.preprocessing import MinMaxScaler from sklearn.model_selection import train_test_split x_data,y_data = load_wine(return_X_y=True,as_frame=True) #한번에 데이터 프레임 x_data= torch.FloatTensor(x_data.values) y_data= torch.LongTensor(y_data...
2023.06.20