Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 석사
- 인공지능
- 전처리
- naver movie review
- word embedding
- 품사태깅
- 우울증
- Classification Task
- CUDA
- 수기
- pytorch
- NLP
- sentiment analysis
- 대학원
- 자연어처리
- Word2Vec
Archives
- Today
- Total
슬기로운 연구생활
bentoml Quick Start 본문
1. 환경 설정
pip install bentoml
pip install pandas sklearn
2. 코드 작성
bento라는 디렉터리를 만든 후, model.py / service.py / builder.py 라는 파일을 생성한다.
model.py : ML 모델 파일 생성 및 설정.
# 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 : predict 관련 서빙 파일 설정.
# service.py
import pandas as pd
from bentoml import env, artifacts, api, BentoService
from bentoml.adapters import DataframeInput
from bentoml.frameworks.sklearn import SklearnModelArtifact
@env(infer_pip_packages=True)
@artifacts([SklearnModelArtifact('model')])
class IrisClassifierService(BentoService):
"""
A minimum prediction service exposing a Scikit-learn model
"""
@api(input=DataframeInput(), batch=True)
def predict(self, df: pd.DataFrame):
"""
An inference API named `predict` with Dataframe input adapter, which codifies
how HTTP requests or CSV files are converted to a pandas Dataframe object as the
inference API function input
"""
return self.artifacts.model.predict(df)
builder.py : 위에서 정의한 모델 파일과 서빙 파일을 사용해 배포 설정.
# builder.py
# import the IrisClassifier class defined above
from service import IrisClassifierService
from model import clf
# Create a iris classifier service instance
iris_classifier_service = IrisClassifierService()
# Pack the newly trained model artifact
iris_classifier_service.pack('model', clf)
# Save the prediction service to disk for model serving
saved_path = iris_classifier_service.save()
그리고 python builder.py를 실행해 배포 파일을 생성하면 아래의 경로에 도커 파일이 생성된다.
[2021-08-06 07:45:01,505] INFO - BentoService bundle 'IrisClassifierService:20210806074501_213F58' saved to: /root/bentoml/repository/IrisClassifierService/20210806074501_213F58
3. deploy 실행
bentoml serve IrisClassifierService:latest
위의 명령어를 실행하면 builder.py를 사용한 도커파일이 실행되며 아래와 같이 request 받을 준비를 한다.
위에 표시된 URL인 http://127.0.0.1:53587/에 접속하면 아래와 같은 홈페이지를 확인할 수 있다.
해당 서버에 POST로 request를 보내 결과를 확인한다.
4. yatai 실행
배포 버전 관리하는 웹페이지다.
bentoml yatai-service-start
위의 yatai를 실행시키기 위해서는 node.js가 설치되어 있어야 한다.
만약 에러가 발생하면 node.js를 설치하고 다시 실행시키며 해결될 것이다.
'슬기로운 세팅 생활' 카테고리의 다른 글
Pyenv-Virtualenv 세팅 (Ubuntu) (0) | 2022.02.03 |
---|---|
mecab 설치 (with ubuntu, konlpy) (1) | 2021.11.19 |
Ubuntu 16.04에 CUDA Toolkit과 CuDNN 설치하기 (0) | 2020.12.28 |
[Hexo] 기본 명령어 (0) | 2020.06.08 |
[Selenium] Selenium Install (0) | 2020.06.08 |
Comments