본문 바로가기

더 나은 엔지니어가 되기 위해

(80)
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 에러를 내보냈던 것이다. ..
Poetry 에서 바로 실행 명령 가능한 패키지 만들기 배경 어떤 파이썬 패키지들을 설치한 뒤 터미널에서 특정 명령어로 바로 실행가능한 경우가 있다. 예를 들면 다음과 같다. # 다음 처럼 패키지를 설치한 뒤 $ poetry add pytest # pip install pytest 로 해도 상관없다. # 다음 처럼 바로 실행 가능하다. $ pytest 이렇게 설치 후 터미널에서 특정 명령어로 바로 실행가능한 poetry 패키지를 만들려면 어떻게 해야할까? 해결 방법 poetry 프로젝트 내에 있는 pyproject.toml 의 [tool.poetry.scripts] 를 활용하면 된다. 간단한 예제로 직접 확인해보자. 이전 포스트 "Poetry 에서 로컬 패키지 add 하기" 의 예제를 그대로 이어서 사용해본다. 프로젝트 구조는 다음과 같다...
Poetry 에서 로컬 패키지 add 하기 배경 poetry 를 쓰면 일반적으로 add 명령어로 패키지를 가상 환경에 추가한다. 예를 들어 pandas 를 추가하고 싶으면 다음처럼 하면 된다. $ poetry add pandas 대부분의 경우 이렇게 pypi 에 등록된 패키지를 설치하곤 한다. 그런데 만약 pypi에 등록되지 않은 로컬 패키지를 add 하고 싶은 경우라면 어떨까? 예를 들어 프로젝트 패키지 구조가 다음처럼 되어 있다고 하자. my-project ├── dependencies │ └── my-sub-package │ ├── README.rst │ ├── my_sub_package │ │ ├── __init__.py │ │ └── my_func.py │ └── pyproject.toml └── pyproject.toml my-proj..