[Mac] 터미널에서 손쉽게 Github 인증하기
·
ETC
일년전쯤인가 인증을 위해 비밀번호 대신 토큰을 요구한다.. 그래서 더더욱 깃허브 인증은 미리미리 해둬야한다. gh를 통해 손쉽게 인증을 할 수 있다. 설치 brew install gh 인증 gh auth login 인증을 위한 코드를 입력하면 CLI에서 여러가지 선택해야 한다. Github에 로그인해서 터미널에 입력된 토큰을 입력하면 인증이 끝난다.
Airflow로 Full Refresh 구현(Open Weather API)
·
카테고리 없음
해당 포스팅의 코드는 https://github.com/Ssuwani/weather-forecast-dag 여기에 있습니다. 1주일치 날씨 데이터를 불러오는 DAG를 Airflow를 통해 작성합니다. 위 다이어그램과 같이 Airflow를 사용해 Open Weather API에서 Redshift로 데이터를 가져옵니다. 이 작업은 단계별로 두가지 방식으로 구현할 수 있습니다. Full Refresh: 데이터 소스에서 데이터가 로드될 때 발생하는 전체 데이터를 가져옴 Incremental Update: 데이터 소스에서 정기적으로 필요한 데이터를 가져옴 1. Full Refresh 데이터 소스로부터 데이터를 마치 처음 불러왔듯이 전부 가져오면 됩니다. 그렇게 하기 위해선 데이터를 불러 오기 전 테이블의 모든 레..
Airflow로 MNIST 학습 파이프라인 실행하기
·
MLOps
목차 들어가며 소스파일 정의 및 설명 데이터 로드: data_load.py 모델 학습: train.py 모델 평가: evaluate.py Dags 작성: main.py Workflow 실행 및 결과 확인 들어가며 Airflow는 워크플로 관리 툴이다. 데이터 엔지니어링에서 주로 사용되지만 범용성이 좋아 학습 파이프라인에서 사용되기도 한다. MNiST 학습을 위한 파이프라인을 Airflow를 통해 작성해보자. 여기서 정의할 학습 파이프라인은 간단히 3개의 Task로 구분하였다. 데이터 로드 모델 학습 모델 평가 각 Task는 아래와 같은 의존성을 가진다. 이를 구현하기 위해 4개의 파일이 필요하다. . ├── main.py ├── data_load.py ├── train.py └── evaluate.py ..
Terraform으로 GCP에서 Kubernetes 환경 구축하기
·
MLOps
GCP의 Free Tier는 90일간 300불을 사용할 수 있다. 300불은 GKE를 구성한다면 한 20일 정도면 크레딧을 모두 사용하게된다. 따라서 구글 게정을 새로 생성하고 GKE를 구성하는 것은 공부하는 입장에서 반복적인 일이 되곤한다.. 따라서 Terraform을 이용해 이 과정을 자동화하였다. 아래의 자료는 복잡하고 길지만 실제로 GKE 클러스터를 생성하고 클러스터에 ArgoCD를 설치하기 까지의 과정은 간단하다. Quick Start 1. 1단계 수행 - GCP 프로젝트 생성 2. 레포지토리 clone git clone https://github.com/Ssuwani/provision-gke-with-terraform 3. project_id 입력 in terraform-provision-gk..
Kubeflow 1.4 설치 with Minikube
·
MLOps
Ubuntu 20.04가 설치되어 있는 데스크탑에 Kubeflow 1.4 설치하는 방법을 정리하려고 해요. docker, minikube, kubectl, kustomize는 설치방법이 정말 많이 나와있으니 적절히 설치 후에 과정을 진행해주세요. 제 PC에 설치된 스펙은 다음과 같습니다. Docker: 20.10.10 minikube: 1.21.0 kubectl: 1.21.7 kustomize: 3.2.0 (4.0 이상은 kubeflow 설치에 지원안된다고 공식 문서에 나와잇습니다) 목차 Minikube로 Kubernetes Cluster 구성하기 Kubeflow 1.4 설치 1. Minikube로 Kubernetes Cluster 구성하기 Minikube가 설치되어 있다면 쿠버네티스 클러스터 만들기는 ..
[MLOps] Vertex AI에서 MNIST 학습, 배포, 서빙
·
MLOps
조대협님의 블로그를 참고했습니다! 감사합니다. https://bcho.tistory.com/1383 구글에서 제공하는 통합 머신러닝 플랫폼인 Vertex AI를 이용해서 MNIST 데이터를 학습하고 모델을 배포하고 Endpoint를 생성해 서빙하는 것까지 실습해보겠습니다! 목차 train.py 파일 만들기 도커 컨테이너로 패키징하기 Vertex AI에 Train JOB 생성하기 배포 및 서빙 Test 1. train.py 파일 만들기 moist 데이터를 불러와서 간단한 Linear 모델을 만들고 모델 학습 및 저장하는 코드이다. 여기서 주의깊게 봐야할 곳은 마지막에 있는 model.save 부분이다. GCS의 bucket으로 경로가 되어있는 것을 볼 수 있다. GCS의 버킷의 region은 us-cent..
[MLOps] Colab에서 GCP 인증 GOOGLE_APPLICATION_CREDENTIALS
·
MLOps
Colab에서 GOOGLEAPPLICATIONCREDENTIALS 환경변수 설정하기 https://stackoverflow.com/questions/55106556/how-to-refer-a-file-in-google-colab-when-working-with-python DefaultCredentialsError: Could not automatically determine credentials. Please set GOOGLE_APPLICATION_CREDENTIALS or explicitly create credentials and re-run the application. 다음과 같은 CredentialsError 에러를 로컬에서도 자주 봤었는데 zshrc 에 다음 한 줄 추가로 문제된 적이 없었..
[MLOps] Vertex AI에서 모델 배포하기 (MNIST)
·
MLOps
간단한 코드로 Vertex AI에서 모델 학습 및 배포하는 과정을 다룬다. MNIST 데이터는 데이터를 불러오는 과정을 간단하게 load_data로 할 수 있기 때문에 아래와 같이 간단히 2개의 컴포넌트로 구성할 수 있다. Load data & Training Deploy with endpoint 아래의 과정을 따라오면 다음과 같은 파이프라인을 설계할 수 있다. 0. Import Library Library를 불러오는 부분이다. import kfp from kfp import dsl from kfp.v2 import compiler from kfp.v2.dsl import (Artifact, Dataset, Input, InputPath, Model, Output, OutputPath, Classific..