프로젝트 일지/분모자4 MLflow - Tracking Servers 이제까지 로컬에 저장하는 방법만 살펴봤지만, 실제 개발에서는 tracking 결과물을 로컬에 저장하지는 않음 원격 저장소에 저장 -> MLflow의 tracking URI로 기록물을 가져와서 사용하는 방식 import mlflow mlflow.set_tracking_uri("file:///tmp/my_tracking") tracking_uri = mlflow.get_tracking_uri() print("Current tracking uri: {}".format(tracking_uri)) 로컬 (file:/my/local/dir) 데이터베이스 (+://:@:/) mysql, mssql, sqlite, postgresql 지원 HTTP 서버 (https://my-server:5000) Databricks .. 2023. 7. 23. FastAPI: 데이터베이스 연결의 이해 본 글은 "FastAPI를 사용한 파이썬 웹 개발" 내용의 일부를 토대로 정리한 글입니다. SQL과 애플리케이션 코드를 연동하기 위해선 SQLModel 라이브러리를 설치해야 한다. SQLModel 라이브러리는 FastAPI 개발자가 만들었으며, pydantic과 SQLAlchemy를 기반으로 한다. 테이블 테이블은 데이터베이스에 저장된 데이터를 가지고 있는 객체. SQLModel을 사용해서 테이블을 생성하려면 테이블 모델 클래스를 먼저 정의해야 함. pydantic 모델처럼 테이블을 정의하지만, SQLModel의 서브 클래스로 정의해야 함. 클래스 정의는 table이란 설정 변수를 갖는데, 이를 통해 해당 클래스가 SQLModel 테이블이라는 것을 인식할 수 있음. 모델 클래스 안에 정의된 변수는 따로 .. 2023. 6. 23. MLflow - Tracking using CLI 지난번 포스트에서는 MLflow가 어떤 툴인지, MLflow의 Tracking 기능을 어떻게 사용하는지 대략적으로 알아보았다. Tacking의 경우 Python 스크립트 파일 안에서 .log_param 혹은 autolog를 사용하는 방법 위주로 보았다. 이번에는 CLI를 사용하여 조금 더 정교하고 명시적으로 Tracking 기능을 사용하는 방법에 대해서 알아본다. 1. Experiment 생성 지난번 포스트에서는 mlflow로 log할 것들을 표기(혹은 autolog를 사용)하고 스크립트 파일을 단순실행, 그 결과 '0'이라는 experiment id가 자동 생성 후 그 아래에 run이 기록되는 방식으로 진행하였다. 하지만 그렇게 할 경우 experiment에 대한 기록 및 관리가 더 힘들어진다는 단점이.. 2023. 3. 13. MLflow - MLflow 개요 & Tracking 기초 (with python) 공식 도큐먼트를 보고 싶으신 분은 여기로 0. MLflow란? 머신러닝 라이프사이클을 관리해주는 플랫폼. MLflow가 등장하기 이전에는 다음과 같은 어려움이 있었음 1) 실험 트래킹의 어려움: 개인의 로컬 환경이나 노트북에서 진행하다보니 어떤 데이터, 코드, 파라미터로 실험했는지 트래킹하기 어려움 2) 코드 재현성의 어려움: 환경 설정이나 라이브러리 의존성 등 코드 외에 사항들 때문에 재현이 어려움 3) 표준 패키징과 배포 방법의 부재: 각 개인, 팀마다 방법이 다 다름 4) 모델 관리를 위한 중앙 저장소의 부재: 중앙 저장소 없이 협업을 하려니 너무너무 힘듦 MLflow는 아래의 컴포넌트들로 문제를 해결하려 함 1) MLflow Tracking : 머신러닝 실험에서 사용, 발생한 파라미터, 코드 버전.. 2023. 3. 7. 이전 1 다음