반응형

파이썬 83

파이토치 무작정 시작하기 5 - GPU를 사용한 전이 학습 (colab 사용)

전이학습 이미 알고 있는 지식(데이터, 모델 등)을 다른 문제에 적용하여 풀어가는 과정 가지고 있는 데이터 양이 충분하지 않을 때, 외부 소스로 부터 좋은 특징들을 가져와서 모델에 사용 학습 데이터가 부족하더라도 원하는 모델을 학습할 수 있고 학습 시간을 줄일 수 있다. https://www.youtube.com/watch?v=hOSrn41lCkg # 라이브러리 불러오기 import torch import torchvision from torchvision import transforms import torchvision.transforms as transforms # data processing from torch.utils.data import DataLoader # mini-batch import ..

파이토치 무작정 시작하기 4 - CNN 기본 모델 구축

https://www.youtube.com/watch?v=Gm9Spk2Nmj0 # 라이브러리 불러오기 import torch import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader Load data set # 파이토치에서 제공하는 CIFAR10 데이터셋 불러오기 transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))]) trainset = torchvision.datasets.CIFAR10(root='C:/pypy', train=True, down..

파이토치 무작정 시작하기 3 - 데이터 불러오기

https://www.youtube.com/watch?v=8PnxJ3s3Cwo # 라이브러리 불러오기 # torchvision.transforms : 데이터를 불러오면서 바로 전처리를 할 수 있게 해준다. # DataLoader : 배치사이즈 형태로 만들어서 실제로 학습할때 이용할 수 있는 형태로 만든다. # Dataset : 튜닝할때 사용 import torch import torchvision import torchvision.transforms as tr from torch.utils.data import DataLoader, Dataset import numpy as np 1. 파이토치 제공 데이터 사용 # 데이터 전처리 # tr.Compose()안의 순서대로 전처리 작업 수행 # 인풋데이터 8*..

파이토치 무작정 시작하기 2 - 패키지 구성 / 자동 미분 계산

파이토치 패키지 구성 구성 내용 설명 torch 메인 네임스페이스로 텐서 등의 다양한 수학 함수가 이 패키지에 포함되어 있다. NumPy와 같은 구조를 가지고 있다. torch.autograd 자동 미분을 위한 함수가 포함돼 있다. 자동 미분의 on/off를 제어하는 콘텍스트 매니저(enable_grade/no_grade)나 자체 미분 가능 함수를 정의할 때 사용하는 기반 클래스인 'Function' 등이 포함돼 있다. torch.nn 신경망을 구축하기 위한 다양한 데이터 구조나 레이어 등이 정의돼 있다. 예를 들어 Convolution이나 LTSM, ReLU 등의 활성화 함수나 MSELoss 등의 손실 함수도 포함된다. torch.optim 확률적 경사 하강법(SGD, Stochastic Gradien..

파이토치 무작정 시작하기 1 - 파이토치 / 텐서

파이토치(Pytorch)란? Python 기반의 과학 연산 패키지 NumPy를 대체하면서 GPU를 이용한 연산이 필요한 경우 사용 최대한의 유연성과 속도를 제공하는 딥러닝 연구 플랫폼이 필요한 경우 사용 파이토치의 장점 텐서플로보다 간결해서 쉽게 사용할 수 있다. 학습 및 추론 속도가 빠르고 다루기 쉽다. Define-by-Run 프레임워크 많은 논문들이 파이토치로 구현 https://www.youtube.com/watch?v=6SF_qAd99Yg 텐서 (Tensor) 파이토치의 기본 단위 다차원 배열을 처리하기 위한 데이터 구조 Numpy의 ndarray와 거의 같은 API를 지니고 있다. GPU를 사용한 계산도 지원한다. 어떤 데이터 형의 텐서이건 torch.tensor라는 함수로 작성할 수 있다. ..

데이터 분석 연습3 - 시카고 샌드위치 맛집 분석

목표 시카고 샌드위치 맛집 리스트 정리 사용 데이터 1. 시카고 샌드위치 맛집 사이트 : https://www.chicagomag.com/Chicago-Magazine/November-2012/Best-Sandwiches-Chicago/ The 50 Best Sandwiches in Chicago Our list of Chicago’s 50 best sandwiches, ranked in order of deliciousness www.chicagomag.com 1. 시카고 샌드위치 맛집 소개 사이트에 접근하기 # 라이브러리 불러오기 from bs4 import BeautifulSoup from urllib.request import urlopen from urllib.parse import urljoi..

데이터 분석 연습2 - 서울시 범죄 현황 분석

목표 강남 3구의 체감안전도가 높다는 기사 검증 실제 안전도가 높은지 확인 서울시 구별 범죄 발생과 검거율 위의 정보로 어떤 결론을 내리고, 어떻게 시각화할 것인지 고민 사용 데이터 1. 서울시 관서별 5대 범죄 발생 검거 현황 : 2015년 (.csv) 1. pandas를 이용하여 데이터 정리하기 # 라이브러리 불러오기 import numpy as np import pandas as pd # 사용 데이터(csv) 읽어들이기 crime_anal_police = pd.read_csv('C:/datascience_train/data/02. crime_in_Seoul.csv', thousands=',', encoding='euc-kr') crime_anal_police.head() 2. Google Maps를..

CNN으로 강아지,고양이 분류하기

이미지 형태 확인 # 라이브러리 불러오기 import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from PIL import Image import glob # 이미지 불러오기 및 확인 img = Image.open("C:/pypy/dog.jpg") plt.imshow(img) # 이미지 resize 모습 확인 plt.imshow(img.resize([64,64])) # 이미지에 대한 색상 변경 data = img.convert("RGB") # 이미지 resize data = data.resize([64,64]) # 이미지를 숫자 어레이 형식으로 바꾸기 data = np.asarray(data) # 이미지 형태 바꾸기 data..

CNN 코딩 기초

CNN (Convolution Neural Network) 합성곱 신경망 convolution층과 pooling층을 포함하는 신경망 반복[conv층 -> pooling층] -> fully connected층 conv층 : 이미지의 특징을 추출하는 계층 pooling층 : 특징의 일부분만 취하는 계층 (max pooling을 가장 많이 씀) 합성곱 계산 conv층 (합성곱 계층) feature map을 만들고 그 feature map을 선명하게 해주는 층 image : 1,3,3,1 (이미지갯수, 높이, 너비, 색수) filter : 2,2,1,1 (높이,너비,색수,필터수) striide : 1x1 padding : valid 입력데이터 (3, 3) 1 2 3 4 5 6 7 8 9 filter (2, 2)..

텐서플로를 이용한 신경망 구현

1. 선형회귀 예 입력(x) 출력(y) 1 2 2 4 3 6 4 8 5 10 6 12 Q. 7을 입력하면 출력값은? # 데이터 입력 x_data = [1,2,3,4,5,6] y_data = [2,4,6,8,10,12] # 변수 만들기 # seed=0 : 난수값 고정 # tf.random_normal : 정규분포에 해당하는 난수값 리턴 x = tf.placeholder(tf.float32) y = tf.placeholder(tf.float32) w = tf.Variable(tf.random_normal([1],seed=0),name='weight') b = tf.Variable(tf.random_normal([1],seed=0),name='bias') # hypothesis 정의 hypothesis = w..

반응형