패키지 오류 시 pip, setuptools 업데이트 (pip install –upgrade pip setuptools)
$ pip install mlflow sklearn
2. artifacts 생성 예제 코드 작성
$ mkdir quickstart &&cd quickstart
quickstart/mlflow_tracking.py
importosfromrandomimportrandom,randintfrommlflowimportlog_metric,log_param,log_artifactsif__name__=="__main__":# Log a parameter (key-value pair)
log_param("param1",randint(0,100))# Log a metric; metrics can be updated throughout the run
log_metric("foo",random())log_metric("foo",random()+1)log_metric("foo",random()+2)# Log an artifact (output file)
ifnotos.path.exists("outputs"):os.makedirs("outputs")withopen("outputs/test.txt","w")asf:f.write("hello world!")log_artifacts("outputs")
$ mkdir sklearn_wine &&cd sklearn_wine
sklearn_wine$ mlflow run https://github.com/mlflow/mlflow-example.git -Palpha=5.0 --no-conda==============================================================================================
2022/07/21 18:17:42 INFO mlflow.projects.utils: === Fetching project from https://github.com/mlflow/mlflow-example.git into C:\Users\user\AppData\Local\Temp\tmpr7pldpu9 ===
2022/07/21 18:17:45 INFO mlflow.projects.utils: Fetched 'master' branch
2022/07/21 18:17:46 INFO mlflow.projects.utils: === Created directory C:\Users\user\AppData\Local\Temp\tmp9c0vatqv for downloading remote URIs passed to arguments of type'path'===
2022/07/21 18:17:46 INFO mlflow.projects.backend.local: === Running command'python train.py 5.0 0.1'in run with ID '99bb7adb7ecb4874ae7f24be5145eb20'===
Elasticnet model (alpha=5.000000, l1_ratio=0.100000):
RMSE: 0.8594260117338262
MAE: 0.6480675144220314
R2: 0.046025292604596424
2022/07/21 18:18:00 INFO mlflow.projects: === Run (ID '99bb7adb7ecb4874ae7f24be5145eb20') succeeded ===
2. 모델 배포
sklearn_wine$ mlflow models serve -m runs:/99bb7adb7ecb4874ae7f24be5145eb20/model --port 5001 --no-conda==============================================================================================
2022/07/21 18:23:21 INFO mlflow.models.cli: Selected backend for flavor 'python_function'
2022/07/21 18:23:21 INFO mlflow.pyfunc.backend: === Running command'waitress-serve --host=127.0.0.1 --port=5001 --ident=mlflow mlflow.pyfunc.scoring_server.wsgi:app'
INFO:waitress:Serving on http://127.0.0.1:5001
ArgoCD는 쿠버네티스를 위한 대표적인 선언적, GitOps 기반의 CD(Continuous Delivery) 도구입니다. 배포할 쿠버네티스 서비스의 deployment, service, ingress 등을 정의하고 서비스 Repository에서 GitOps 기반의 배포 파이프라...
댓글남기기