본문 바로가기

728x90
반응형

AI/AI 라이브러리

(15)
[Tensorflow] Tensorflow 입문 Tensorflow는 구글에서 만든 "Deep Learning 프로그램을 쉽게 구현할 수 있도록 기능을 제공하는 라이브러리"이다. 기본적으로 C++로 구현 되나, 파이썬, Java, Go 등 다양한 언어를 지원한다. 이 중 파이썬을 최우선으로 지원하며, 편리한 기능들은 파이썬 라이브러리로만 구현되어 있기 때문에 Python을 사용하는 것을 추천한다. Tensorflow를 사용해야하는 이유는 다음과 같다.(Tensorflow 공식 홈페이지) 손쉬운 모델 빌드 : 다양한 수준의 추상화를 지원, Keras API 등. 어디서든 강력한 ML 제작 : 플랫폼에 상관 없이 모델을 쉽게 학습하고 배포할 수 있음. 연구를 위한 강력한 실험 : Keras Functional API 및 Model Subclassing A..
[Pytorch] 연습 데이터로 라이브러리 익숙해지기2 이전에 만들었던 모델을 더 간단하게 만들어보자. 모델을 구현할 때 Layer를 정해주지 않고 내가 원하는 방식의 NN을 만드는 방법(사용자 정의 레이어)이 있다. 바로 nn.Sequential을 사용하면 간단하다. 여기서 CNN을 사용해 신경망을 구축 해볼 것이다. # 데이터 전처리 레이어(사용자 정의 레이어) class Lambda(nn.Module): def __init__(self,func): super().__init__() self.func = func def forward(self,x): return self.func(x) def preprocess(x): return x.view(-1,1,28,29) from torch import nn,optim # Sequential 사용 model = ..
[Pytorch] 연습 데이터로 라이브러리 익숙해지기1 MNIST 데이터 실습 먼저 데이터를 MNIST 데이터를 가져와보자. MNIST 데이터는 손글씨(0~9)의 흑백 이미지로 구성된 데이터이다. 데이터를 가져올 주소 https://github.com/pytorch/tutorials/raw/main/_static/ file name : mnist.pkl.gz 가져온 데이터는 python pickle 파일 이기 때문에 이를 풀어 우리가 원하는 Python 데이터로 바꿔보자. # 1. Data Load import pickle import gzip PATH = input("파일 경로 입력:") FILENAME = "/mnist.pkl.gz" with gzip.open((PATH+FILENAME), "rb") as f: ((x_train, y_train), (x_..
[Pytorch] 모델 저장하고 불러오기 파이토치 한국사용자 모임의 글을 보면서 공부한 내용을 정리한 글입니다. 모델을 저장하고 불러오기를 통해 모델의 상태를 유지할 수 있다. 모델 가중치 저장 Pytorch 모델은 학습한 매개변수를 state_dict라고 불리는 내부 상태 사전(Internal State Dictionary)에 저장한다. 이 상태 값들은 torch.save 메소드를 사용하여 저장할 수 있다. import torch import torchvision.models as models model = models.vgg16(weights='IMAGENET1K_V1') # torch.save(모델의 상태 사전, 저장할 경로) torch.save(model.state_dict(), 'model_weights.pth') 모델 가중치 불러오기..
[Pytorch] 모델 매개변수 최적화하기 파이토치 한국사용자 모임의 글을 보면서 공부한 내용을 정리한 글입니다. 전전 포스트에서 우리는 모델의 Layer를 설정했었다. 이제 모델과 데이터가 준비되었으니 데이터에 매개변수를 최적화하여 모델을 학습, 검증, 테스트 할 차례이다. 모델 학습은 반복적이며 각 반복 단계에서 모델은 출력을 추측하고, 손실(Loss)를 계산하고, 매개변수에 대한 오류의 도함수(derivative)를 수집한 뒤, Gradient Descent를 사용하여 파라미터들을 Optimize 한다. Optimize 과정 이제 코드를 보면서 알아보자. 데이터를 로드하고 기본 NN 모델을 만든다. import torch from torch import nn from torch.utils.data import DataLoader from t..

728x90
반응형