IT/Machine Learning 7

pytorch EarlyStopping 적용하기

pytorch 에서 EarlyStopping 을 적용해 보자 EarlyStopping 이란? 아래 설명은 Keras에서 제공하는 EarlyStopping Class에 대한 설명이다. 즉, 모델의 학습중에 더이상의 성능향상이 없을 경우 중단하는 기능을 의미한다. Stop training when a monitored metric has stopped improving. pytorch 는 keras와 달리 기본적으로 제공하는 EarlyStopping 클래스가 없다. pytorch-light, pytorch-ignite 등에서 제공하는 패키지가 있긴하나, 기본 pytorch 와 간단하게 연동이 되지는 않는것 같다. 대체적으로 직접 EarlyStopping 클래스를 만들어서 사용하는 경우가 대다수인듯 하다. E..

IT/Machine Learning 2023.06.15

pytorch Classifier 튜토리얼 (feat. sklearn, digits, accuracy)

pytorch 로 classifier 모델을 만들어보자. Data Load sklearn 의 load_digits 함수를 사용해서 데이터를 로딩한다. train, test 데이터를 분리한다 train_loader 및 test tensor를 만든다. from sklearn import datasets from sklearn.model_selection import train_test_split from torch.utils.data import TensorDataset, DataLoader, random_split data = datasets.load_digits() x_train, x_test, y_train, y_test = train_test_split(data.data, data.target, te..

IT/Machine Learning 2023.06.15

Ray tune 를 사용해서 pytorch hyperparameter 최적화하기 (feat. diabetes)

Ray란? 홈페이지에는 아래와 같이 소개하고 있지만, 결국 AI 관련된 Python workload 를 좀더 간편하게 개발 할수 있도록 도와주는 프레임워크이다. Effortlessly scale your most complex workloads Ray is an open-source unified compute framework that makes it easy to scale AI and Python workloads — from reinforcement learning to deep learning to tuning, and model serving. Learn more about Ray’s rich set of libraries and integrations. 대표 기능을 살펴보면 아래와 같다. ..

IT/Machine Learning 2023.06.14

Pytorch Linear/MLP Regression 튜토리얼 (feat. sklearn diabetes datasets)

pytorch 로 sklearn 의 diabetes datasets 을 Regression 해보자. Linear와 MLP Regression 모델을 적용하며, 모델 외에 optimizer, loss function 등은 동일하게 사용하고자 했다. 공통함수 정의 sklearn 의 load_diabetes 함수를 사용해 데이터 Load 데이터 tensor 변환 from sklearn import datasets import pandas as pd import numpy as np import torch from torch import nn data = datasets.load_diabetes() x = torch.from_numpy(data.data).float() y = torch.from_numpy(d..

IT/Machine Learning 2023.06.13

회귀모델 성능지표 결정계수란? (feat. 기준값, 음수, 조정된 결정계수)

결정계수란? 회귀모델이 주어진 자료에 얼마나 적합한지를 평가하는 지표 y의 변동량대비 모델 예측값의 변동량을 의미함 0~1의 값을 가지며, 상관관계가 높을수록 1에 가까워짐 r2=0.3인 경우 약 30% 정도의 설명력을 가진다 라고 해석할 수 있음 sklearn의 r2_score의 경우 데이터가 arbitrarily할 경우 음수가 나올수 있음 음수가 나올경우 모두 일괄 평균으로 예측하는 것보다 모델의 성능이 떨어진다는 의미 결정계수는 독립변수가 많아질 수록 값이 커지기때문에, 독립변수가 2개 이상일 경우 조정된 결정계수를 사용해야 함 결정계수 수식 아래 결정계수 수식이다. SSR > SST 보다 클 경우 음수가 나올수가 있음 이는 모델의 예측값이 평균값으로 예측하는것보다 정확하지 않을때 발생함 아래는 조..

IT/Machine Learning 2021.03.03

MLP 파라미터(param) 개수 자세히 알기 (feat. 케라스)

케라스(keras) 코드를 활용해 MLP 파라미터 개수에 대해서 살펴보려고 한다. 모델을 만들자 먼저 아래처럼 간단한 분류 모델을 만들었다. import tensorflow as tf from sklearn.datasets import load_iris import numpy as np iris_data = load_iris() x = iris_data['data'] y = iris_data['target'] print(x.shape) print(np.unique(y)) [출력결과] x는 4개의 feature 를 가지고 있는 150개(row)의 데이터이고, y는 3개의 label을 가지고 있다. 이를 학습/분류 하기 위해서 아래같은 간단한 MLP(Multi Layer Perceptron) 모델을 만들었다..

IT/Machine Learning 2020.12.17

케라스(keras) 모델 저장(save) 및 불러오는(load) 2가지 방법

케라스 모델을 저장하고 불러오는 2가지 방법에 대해서 설명드리겠습니다. 모델 만들기 먼저 모델을 만들어야 겠죠? 7개 Layer 로 된 간단한 분류 모델을 만들었습니다. import tensorflow as tf from sklearn.datasets import load_iris import pandas as pd import numpy as np iris_data = load_iris() x = iris_data['data'] y = iris_data['target'] model = tf.keras.models.Sequential([ tf.keras.layers.Dense(32, input_dim=x.shape[1]), tf.keras.layers.BatchNormalization(), tf.kera..

IT/Machine Learning 2020.12.14
반응형