MLflow로 전처리, 기계 학습, 예측 API, 편하게 ML 라이프 사이클 관리
따라서이 샘플은 전처리 및 학습 및 예측의 파이프 라인화에 중점을 둡니다.
또한 MLflow에서 쉽게 예측 서비스(REST)를 시작할 수 있는 것에 대해서도 조금 살펴보겠습니다.
소스 코드는 이쪽
htps : // 기주 b. 코 m/ゔぉ 치콘 g/h2오_mlfぉw
개요
Pandas에서 전처리
H2O AutoML 에서 기계 학습
MLflow custom model에서 전처리와 학습 및 예측 연결
MLflow models serve 에서 예측 REST 서비스
개발 환경 준비
Conda에서 환경 만들기
conda env update -f conda-dev.yml
conda env update -f h2o/conda.yaml
conda activate h2o_mlflow
python --version # Python 3.8.5 など
java -version # openjdk version "1.8.0_152-release" など
코드
main.py
에 코드가 모두 들어 있습니다.
conda env update -f conda-dev.yml
conda env update -f h2o/conda.yaml
conda activate h2o_mlflow
python --version # Python 3.8.5 など
java -version # openjdk version "1.8.0_152-release" など
main.py
에 코드가 모두 들어 있습니다.전처리, 기계 학습, 테스트 예측 실행
mlflow run h2o
예측 API 서비스 시작
mlflow run
명령이 몇 분 안에 끝나면 예측 API 시작 명령 예제가 출력되므로 복사하여 사용할 수 있습니다. 기본적으로 5000번 포트가 사용됩니다.
MODEL=/var/folders/j5/1fzcsqzd2_j1s3_5d3qm447h0000gn/T/tmpu_840dh5/main.model
mlflow models serve -m $MODEL
예측 API용 Docker 이미지
쉽게 만들 수 있습니다.
mlflow models build-docker -m $MODEL
예측 API 테스트
pytest h2o/test_api.py
동일한 테스트 데이터에 대해 API를 사용하여 예측하는 경우,main.py
에서 모델을 직접로드하고 예측하는 경우를 비교하고,
동일한 예측 결과가 되는지 확인
참고) API의 JSON 형식
요청
{ "columns": [ "x1", "x2", "x3" ],
"data": [
[ 3, 2, 5 ],
[ 1, 4, 8 ] ] }
Response(분류 문제)
[ { "predict": 0, "p0": 0.7, "p1": 0.3 },
{ "predict": 1, "p0": 0.6, "p1": 0.4 } ]
Reference
이 문제에 관하여(MLflow로 전처리, 기계 학습, 예측 API, 편하게 ML 라이프 사이클 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/vochicong/items/695777bc061e4f1f2286
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
MODEL=/var/folders/j5/1fzcsqzd2_j1s3_5d3qm447h0000gn/T/tmpu_840dh5/main.model
mlflow models serve -m $MODEL
mlflow models build-docker -m $MODEL
pytest h2o/test_api.py
동일한 테스트 데이터에 대해 API를 사용하여 예측하는 경우,
main.py
에서 모델을 직접로드하고 예측하는 경우를 비교하고,동일한 예측 결과가 되는지 확인
참고) API의 JSON 형식
요청
{ "columns": [ "x1", "x2", "x3" ],
"data": [
[ 3, 2, 5 ],
[ 1, 4, 8 ] ] }
Response(분류 문제)
[ { "predict": 0, "p0": 0.7, "p1": 0.3 },
{ "predict": 1, "p0": 0.6, "p1": 0.4 } ]
Reference
이 문제에 관하여(MLflow로 전처리, 기계 학습, 예측 API, 편하게 ML 라이프 사이클 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/vochicong/items/695777bc061e4f1f2286
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{ "columns": [ "x1", "x2", "x3" ],
"data": [
[ 3, 2, 5 ],
[ 1, 4, 8 ] ] }
[ { "predict": 0, "p0": 0.7, "p1": 0.3 },
{ "predict": 1, "p0": 0.6, "p1": 0.4 } ]
Reference
이 문제에 관하여(MLflow로 전처리, 기계 학습, 예측 API, 편하게 ML 라이프 사이클 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/vochicong/items/695777bc061e4f1f2286텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)