Streamlit을 사용하여 ML 모델 배포
ML 모델을 배포한다는 것은 단순히 실제 비즈니스 의사 결정에 사용할 수 있는 입력을 받고 출력을 반환할 수 있는 기존 프로덕션 환경에 모델을 통합하는 것을 의미합니다. 여기가 바로 Streamlit이 플레이하는 곳입니다!
Streamlit is a open-source app framework is the easiest way for data scientists and machine learning engineers to create beautiful, performant apps in only a few hours! All in pure Python. All for free.
이 튜토리얼의 1부에서는 Abalone의 나이를 예측하기 위해 감독 머신 러닝 모델을 배포하고 다음 파트에서는 Heroku에서 이 웹 앱을 호스팅할 것입니다. 전복은 독특한 귀 모양의 껍질에 진주층이 있는 연체 동물입니다. 전복의 나이는 물리적 측정을 통해 얻을 수 있습니다. 모델을 배포해 보겠습니다.
모델에 대한 pickle 파일을 생성하고 기계 학습 모델에 대한 내 kaggle 노트북을 참조하십시오. 이 자습서에서는 배포에 중점을 둘 것입니다. 필요한 패키지를 가져옵니다. streamlit 및 pickle을 가져와 피클된 파일을 언피클합니다.
import streamlit as st
import pickle
import numpy as np
model = pickle.load(open('final_model.pkl','rb'))
절인 모델을 사용하는 함수를 만듭니다. 모든 입력 값을 Numpy 배열로 변환하고 입력 배열의 데이터 유형을 float로 변경합니다. model.predict(input)를 사용하여 예측 값을 만듭니다. 예측 값을 반환합니다.
def predict_age(Length,Diameter,Height,Whole_weight,Shucked_weight,
Viscera_weight,Shell_weight):
input=np.array([[Length,Diameter,Height,Whole_weight,Shucked_weight,
Viscera_weight,Shell_weight]]).astype(np.float64)
prediction = model.predict(input)
return int(prediction)
주요 기능을 만듭니다.
def main()
이제 메인 함수의 구성 요소를 빌드해 보겠습니다.
st.title("Abalone Age Prediction")
html_temp = """
<div style="background:#025246 ;padding:10px">
<h2 style="color:white;text-align:center;"> Abalone Age Prediction ML App </h2>
</div>
"""
st.markdown(html_temp, unsafe_allow_html = True)
Length = st.text_input("Length","Type Here")
Diameter = st.text_input("Diameter","Type Here")
Height = st.text_input("Height","Type Here")
Whole_weight = st.text_input("Whole weight","Type Here")
Shucked_weight = st.text_input("Shucked weight","Type Here")
Viscera_weight = st.text_input("Viscera weight","Type Here")
Shell_weight = st.text_input("Shell weight","Type Here")
safe_html ="""
<div style="background-color:#80ff80; padding:10px >
<h2 style="color:white;text-align:center;"> The Abalone is young</h2>
</div>
"""
if st.button("Predict the age"):
output = predict_age(Length,Diameter,Height,Whole_weight,
Shucked_weight,Viscera_weight,Shell_weight)
st.success('The age is {}'.format(output))
if output == 1:
st.markdown(safe_html,unsafe_allow_html=True)
elif output == 2:
st.markdown(warn_html,unsafe_allow_html=True)
elif output == 3:
st.markdown(danger_html,unsafe_allow_html=True)
파이썬의 모든 모듈에는 이름이라는 특별한 속성이 있습니다. name 속성의 값은 모듈이 메인 프로그램으로 실행될 때 'main'으로 설정됩니다. 따라서 name = 'main' 인 경우 main() 함수를 호출하십시오.
if __name__=='__main__':
main()
이제 배포를 시작하겠습니다.
i) 로컬 컴퓨터에 streamlit을 설치합니다.
pip install Flask
pip install streamlit
ii) 파일을 filename.py로 저장하고 같은 디렉터리에 final_model.pkl 파일을 추가합니다. 또는 컴퓨터에서 GitHub 리포지토리를 복제하면 됩니다.git clone https://github.com/Apurva-tech/abalone-age-app.git
iii) 명령 프롬프트/터미널을 열고 파일 디렉토리로 이동합니다. 그리고 다음 명령을 실행합니다. 이렇게 하면 웹 앱이 시작됩니다.localhost:8501
streamlit run filename.py
값을 입력하고 예측 aaaannndd Voila를 클릭합니다!
이로써 이 튜토리얼의 1부가 끝났습니다. 웹 앱에 대한 링크인 Heroku에서 이 웹 앱을 호스팅할 다음 부분을 기대해 주십시오. - https://abalone-age-app.herokuapp.com/ .
거기서 보자!
즐거운 배움 😄
Reference
이 문제에 관하여(Streamlit을 사용하여 ML 모델 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/apurvatech/deploying-ml-models-using-streamlit-22e3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)