- conda create -n traindb-ml python=3.7
- conda activate traindb-ml
- git clone https://github.com/traindb-project/traindb-ml.git
- cd traindb-ml
- pip install -e .
- pip install mlflow
- pip install flask
- pip install psycopg2
- pip uninstall gensim
- pip install gensim==3.8.3
Refer to https://github.com/traindb-project/traindb-ml/blob/main/install-script/install_traindb-ml.sh
- cd server
- python callee.py
- 2-1. create model: 소스(caller.py)를 아래와 같이 변경 또는 python caller.py -sql "SQL create 명령 문자열" 을 통해 근사 질의 처리 ML 모델 훈련/생성
- sql_string = "create model instacart_order_product_600k (add_to_cart_order real, reordered real) from instacart_order_product_600k.csv method uniform size 1000"
- model 생성 완료되면, mlruns/0/ 디렉토리 아래 mlflow용 모델이 생성됨
- 예: ./mlruns/0/1e619001eca046c7960499c06fe365b0/
- 여기서, 1e619001eca046c7960499c06fe365b0 --> runid
- 예: ./mlruns/0/1e619001eca046c7960499c06fe365b0/
- 2-2. select model: 소스(caller.py)를 아래와 같이 변경 또는 python caller.py -sql "SQL select 문자열" 통해 근사 질의 처리 ML 모델 호출/추론 (아래 3단계. mlflow serving 이후 실행)
- sql_string = "select model avg (add_to_cart_order real) from instacart_order_product_600k where 0.9 <= reordered <= 1.0"
- 2-1. create model: 소스(caller.py)를 아래와 같이 변경 또는 python caller.py -sql "SQL create 명령 문자열" 을 통해 근사 질의 처리 ML 모델 훈련/생성
- mlflow models serve -m ~/mlruns/0/{runid}/artifacts/model -h 0.0.0.0 -p 8003 –no-conda
- example: runid가 '3b8e1398b973434e9affee956aefaffb'인 경우 $ mlflow models serve -m ./mlruns/0/1e619001eca046c7960499c06fe365b0/artifacts/model -h 0.0.0.0 -p 8003 --no-conda
- python caller.py
- SQL 문을 문자열로 전달하려면, '-sql' 옵션 후, SQL 문자열을 포함
- python caller.py -sql "select model avg (add_to_cart_order real) from instacart_order_product_600k where 0.9 <= reordered <= 1.0"
- SQL 문을 문자열로 전달하려면, '-sql' 옵션 후, SQL 문자열을 포함
- mlflow models serve -m ./mlruns/0/{runid}/artifacts/model -h 0.0.0.0 -p 8003 --no-conda
- [TBD] MLflow Model Registry를 활용하여 자동 서빙 기능 추가 필요
- ML model명과 runid 매핑
- 모델 버전 정보 관리/Tracking
- put .csv files for training to traindb-ml/server/etrimlwarehouse/ folder
- csv file example: https://github.com/traindb-project/traindb-ml/blob/main/server/etrimlwarehouse/instacart_order_product_600k.csv