IT 56

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

kubecost의 Container Request Right Sizing Recommendation 기능 살펴보기

Kubecost의 강력한 기능중 하나인 "Container Request Right Sizing Recommendation" 기능에 대해서 살펴보자. 이 기능을 통해서 Container의 CPU, Memory 의 request, limit 값을 최적화 할수 있다. Container Request CPU, Memory Kubernetest Pod 는 Scheduling시에 Manifest에 작성된 Request CPU, Memory 만큼의 리소스가 여유있는 Worker Node를 찾ㄴ는다. 여기서 여유가 있다는 의미는 실제 사용율이 아닌 아래 값을 의미한다. (Worker Node의 Spec) - (해당 Worker Node에 배포된 Pod의 Reqeust CPU, Memory의 합) 즉, Containe..

IT/Kubernetes 2023.01.23

로그로 확인한 EKS autoscaler 동작

EKS 에서 필수로 설정하는 Cluster Autoscaler 의 동작을 자세히 살펴보자. 마땅한 소개문서가 없어서 출력되는 로그를 보면서 동작을 분석해봤다. Cluster Autoscaler Logs 확인 Cluster Autoscaler를 정상적으로 설치했다면 아래 명령어로 log를 확인할수 있다. $ kubectl logs -f --tail=100 -n kube-system deployment.apps/cluster-autoscaler 로그를 확인해보면, 10초마다 출력된다. 즉, 10초마다 Node의 상태를 확인하고 scale-up/down 을 판단하여 동작한다. 주기를 변경하고 싶다면, "--scan-interval" 옵션으로 변경 가능하다. (아래 help 참고) Logs 를 살펴보자 전체 로..

IT/Kubernetes 2022.11.13

jq 명령어 설치 및 사용방법 (feat. select, filter, json 필드 추가/삭제)

jq 란? 위 사진은 jq 홈페이지에서 캡처한 화면인데, 간단히 말해서 json 을 다루는 Tool 이다. Linux shell 에서 텍스트나 csv 파일을 다룰때, sed, awk 등을 사용하는데, 이처럼 json 포맷의 데이터를 다루기 편한 기능들을 모아놓은 utility 라고 생각하면 된다. Kubernetes나 AWS 등은 resource의 상태조회시 json 포맷으로 결과가 return 된다. 이러한 결과값 중에서 원하는 attrbute만 추출하거나, 필터링하거나, csv 포맷으로 변경하는 등의 작업을 jq 로 할 수 있다. jq 설치 (install) download 페이지를 참고한다. 기본 명령어 (apt-get install, brew install 등) 을 사용해서 설치한다. Window..

IT/Programming 2022.11.10

AWS Developer Associate 자격증 시험준비 및 후기 (feat. 공부 로드맵)

AWS 자격증 공부 로드맵 아래 사진은 AWS 자격증이다. 크게 Foundational, Professional, Associate, Specialty 4개 수준(?) 이 있으며, 가장 낮은 Foundational 을 제외한 나머지 3개는 각각 분야가 나뉘어져 있다. Foundational: 분야가 없으며, 가장 기초단계이다. Public Cloud 초급수준의 자격증이다. (AWS 6개월 경험 권장) Associate: 중급수준으로, Architect/SysOps/Developer 분야로 나뉜다. (AWS 1년 경험 권장) Professional: 고급수준으로, Architect/DevOps 분야로 나뉜다. (AWS 2년 경험 권장) Specialty: Network/Security/ML/Data Ana..

IT/Public Cloud 2022.05.24

S3의 CSV 파일을 Aurora MySQL 클러스터에 insert 하기

Aurora에 S3의 csv 파일을 업로드 하는 과정이 생각보다 복잡해서 관련 내용을 정리했다. Aurora MySQL은 DB Cluster 만 가능하다 Aurora 생성시 Engine Option으로 MySQL, PostgreSQL, MariaDB 등을 선택할 수 있다. 인프라로 Serverless 또는 DB Cluster 타입을 선택할 수 있다 (version에 따라서 자동선택됨) MySQL의 경우 Serverless는 S3에서 데이터 Load가 불가 DB Cluster만 S3에서 데이터를 직접 Load 가능 (링크) 참고로 PostreSQL은 Serverless 및 DB Cluster 둘다 가능 하다고함 Aurora MySQL 에 S3 접근 IAM Role 추가 Aurora에서 DB 선택 -> Co..

IT/Public Cloud 2022.05.12

AWS Summit Korea 2022 발표중 EKS 관련 내용 살펴보기 (Summit Seoul)

2022 5/10~11 이틀간 AWS Summit Korea 2022 (AWS 서밋 코리아 2022) 가 진행되었다. AWS Korea에서 진행하는 이벤트중 가장 큰 이벤트로 매년 이맘때쯤 진행된다. 전체 발표가 64개이고 각 발표가 약 30~40분정도 되니 모두 보기는 사실상 힘들고, 요즘 관심을 가지고 살펴보고 있는 EKS 발표만 키워드 중심으로 요약해봤다. 전체 발표내용은 링크에서 확인할수 있으며, 총 64개의 발표중 4개가 EKS관련 주제였다. 강연간에 중복되거나 기본적인 내용도 있었지만, AWS Korea의 가장 큰 이벤트의 발표인만큼 전체적으로 잘 정리되고 유익한 내용이였다. [보안] EKS 환경을 더 효율적으로 더 안전하게 안전한 Worker Node EKS Optimized AMI 권장 (..

IT/Public Cloud 2022.05.11
반응형