본문 바로가기

분류 전체보기

(249)
MLflow - Models 이번에는 MLflow의 Model에 대해서 좀 더 자세히 알아본다. 사전 준비 이전 글을 참고하자. 모델 저장하기 mlflow로 코드에서 모델을 저장하는 방법은 다음처럼 크게 2가지가 있다. mlflow.sklearn.save_model() mlflow.sklearn.log_model() 일단 sklearn 등 머신러닝 모델 프레임워크 단위로 함수를 제공한다. 그리고 log_model() 은 save_model() 를 똑같이 실행하는 것인데, 저장되는 위치가 run 내부라는 것이 다르다. 일단은 간단한 동작을 보기 위해 save_model() 을 사용해보자. 예를 들면 다음과 같다. import mlflow model = ... mlflow.sklearn.save_model(model, "my_model..
MLflow - Model Registry 이번에는 MLflow의 Model Registry에 대해서 알아본다. 사전 준비 음 이제 매번 쓰기 귀찮다. 어차피 직전 글이랑 이어지므로, 이전 글을 통해 확인하자. Model Registry 개념 Model Registry는 MLflow 프로젝트 실행을 통해 나온 결과물인 모델을 저장하는 중앙 집중식 모델 저장소다. MLflow로 모델을 기록했다면, 기록한 모델을 Model Registry에 등록할 수 있고, 등록된 모델은 어디서든 불러올 수 있다. 모델 등록하기 웹 UI로 등록하기 간단하게 모델을 등록해보자. 직전 글에서 사용한 실습을 그대로 이어간다. 웹 서버 (Tracking Server) 에 들어간 뒤, 실행했던 실행(Run)을 클릭하여 들어간다. 실행 상세페이지 하단에 Artifacts 블록..
MLflow - Tracking Server 이번에는 MLflow 의 Tracking Server에 대해 알아본다. 사전 준비 다음이 사전에 준비 되어 있어야 한다. # 파이썬 버전 확인 $ python --version Python 3.8.7 # mlflow 설치 & 버전 확인 $ pip install mlflow $ mlflow --version mlflow, version 1.16.0 # 예제 파일을 위한 mlflow repo clone $ git clone https://github.com/mlflow/mlflow.git $ cd mlflow/examples Tracking Server Tracking 이란? 이전의 글들을 통해 우리는 MLflow가 머신러닝 프로젝트에서 일종의 "기록" 역할을 하는 것임을 알았다. 여기서 머신러닝의 과정과 ..
MLflow - Experiments & Runs 이번에는 MLflow의 실험(experiments)과 실행(runs)에 대해 알아본다. 사전 준비 다음이 사전에 준비 되어 있어야 한다. # 파이썬 버전 확인 $ python --version Python 3.8.7 # mlflow 설치 & 버전 확인 $ pip install mlflow $ mlflow --version mlflow, version 1.16.0 # 예제 파일을 위한 mlflow repo clone $ git clone https://github.com/mlflow/mlflow.git $ cd mlflow/examples Experiments & Runs 개념 MLflow에는 크게 실험(Experiment)와 실행(Run)이라는 개념이 있다. 실험은 하나의 주제를 가지는 일종의 '프로젝트..
MLflow - Automatic logging 저번 Quick 리뷰 글에 이어 계속해서 작성한다. 이번 글은 MLflow 에서 제공하는 Automatic Logging 기능 예제들을 살펴본다. 사전 준비 다음이 사전에 준비 되어 있어야 한다. # 파이썬 버전 확인 $ python --version Python 3.8.7 # mlflow 설치 & 버전 확인 $ pip install mlflow $ mlflow --version mlflow, version 1.16.0 # 예제 파일을 위한 mlflow repo clone $ git clone https://github.com/mlflow/mlflow.git $ cd mlflow/examples 예제 살펴보기 linear_regression.py examples 내에 있는 많은 예제 중, skelarn_..
MLflow - Quick Review 사전 준비 파이썬 3.8.7과 가상환경 $ python --version Python 3.8.7 Quick Start 설치 $ pip install mlflow $ mlflow --version mlflow, version 1.15.0 기본 동작 이해하기 예제 코드를 받기 위해 mlflow 공식 github 코드도 다운받자. 이후 examples/quickstart 경로로 들어가자 $ git clone https://github.com/mlflow/mlflow $ cd mlflow/examples/quickstart $ ls -al total 8 drwxr-xr-x 5 heumsi staff 160 4 24 14:20 . drwxr-xr-x 31 heumsi staff 992 4 24 14:18 .. -..
BentoML - Quick Review 사전 준비 python 3.8.7 및 가상환경 세팅 Quick Start 설치 pip install bentoml 아래 코드 실행하려면 pandas 랑 sklearn 도 깔아줘야 함. pip install pandas sklean 코드 먼저 모델을 만들어 줌. # model.py from sklearn import svm from sklearn import datasets # Load training data iris = datasets.load_iris() X, y = iris.data, iris.target # Model Training clf = svm.SVC(gamma='scale') clf.fit(X, y) 다음으로 모델 서빙할 코드를 적어줘야 함. # service.py import panda..
웹 API 디자인 - 배경, API 목표 캔버스 배경 지난 일 년동안 회사에서 몇 개의 마이크로 서비스 서버를 개발하고 운영해볼 기회가 있었다. 이미 돌고있는 레거시 서버 코드를 걷어내고 새로 짜는 일이었어서 통신 인터페이스에 대해서는 사실 내가 바꿀 수 있는게 거의 없었고, 따라서 별로 고민해보지도 않았었다. 그런데 실제로 운영해보니 모니터링 용도로 연동해놓은 슬랙 채널에 생각치도 못한 로그들이 등장했다. 클라이언트 쪽에서 우리가 정의한대로 요청을 제대로 하지 않는 경우가 종종 있던 것이다. 예를 들면 string 형태로 담겨있어야 할 요청 값이 bool 형태로 넘어와 이에 대한 에러로그가 있었다. 지금와서 생각해보면 이런 요청은 400 이나 422 status를 내보내야하는건데, 개발 당시에는 이에 대한 고려 없이 500 에러를 내보냈던 것이다. ..