-
How to run streamlit from Colab (streamlit colab에서 작동시키기)Data Analysis/Streamlit 2021. 1. 11. 14:54
Streamlit 에 대한 한국어 글이 거의 없는 관계로
포스팅을 하게 되었습니다.
1. Colab 에 streamlit 패키지 설치
Colab에 streamlit 설치
2. Colab 에 pyngrok 패키지 설치
Colab에 pyngrok 설치
3. 클라우드 리눅스 커널에 app.py 파일 만들기
(아래는 예시코드)
%%writefile app.py import streamlit as st import numpy as np import pandas as pd from sklearn import datasets from sklearn.ensemble import RandomForestClassifier #PAGE_CONFIG = {"page_title":"StColab.io","page_icon":":smiley:","layout":"centered"} #st.beta_set_page_config(**PAGE_CONFIG) def user_input_features() : sepal_length = st.sidebar.slider('sepal_length',4.3, 7.9, 5.4) sepal_width = st.sidebar.slider('sepal_width',2.0, 4.4, 3.4) petal_length = st.sidebar.slider('petal_length',1.0, 6.9, 1.3) petal_width = st.sidebar.slider('petal_width',0.1, 2.5, 0.2) data = {'sepal_length' : sepal_length, 'sepal_width' : sepal_width, 'petal_length' : petal_length, 'petal_width' : petal_width } features = pd.DataFrame(data, index=[0]) return features def main(): #st.title("Awesome Streamlit for MLDDD") #st.subheader("How to run streamlit from colab") st.write(""" # Simple Iris Flower Prediction WebApp This app predicts the **Iris flower** type! """) st.sidebar.header('User Input Parameters') df= user_input_features() st.subheader("파라미터를 설정해주세요.") st.write(df) iris = datasets.load_iris() x=iris.data y=iris.target clf = RandomForestClassifier() clf.fit(x,y) predict_ = clf.predict(df) predict_proba = clf.predict_proba(df) st.subheader("Iris 종류 ") st.write(iris.target_names) st.subheader("예측된 꽃종류") st.write(iris.target_names[predict_]) st.subheader("예측된 꽃종류2") st.write(predict_) st.subheader("예측된 꽃종류3") st.write(iris.target_names) st.subheader("꽃종류별 예측 확률") st.write(predict_proba) if __name__ == '__main__': main()
4. 클라우드환경에 app.py가 생성되었는지 확인
클라우드환경에 app.py가 생성되었는지 확인
5. ngrok 토큰 설정
ngrok 토큰 설정
# ngrok authtoken 받는 법
1. dashboard.ngrok.com/ 에 접속 후 회원가입 및 로그인
2. 로그인하면 dashboard.ngrok.com/get-started/setup 에 자동 접속됨
3. 아래의 빨간색 스프레이영역이 토큰번호이니, 복사붙여넣기 하시면 됨
6. streamlit 백그라운드로 실행 & ngrok과 streamlit 연결
streamlit 백그라운드로 실행 & ngrok과 streamlit 연결
7. 백그라운드로 무한정 서비스할거 아니라면,
꼭 streamlit 프로세스 와 ngrok 프로세스 kill 하기!
( <defunt> 라 뜨면 프로세스가 종료된 것 )
계속 백그라운드로 실행시키면,
Colab이 어차피 세션만료시키겠지만, 과금이 될 수 있으니 주의하자!
프로세스 kill 728x90'Data Analysis > Streamlit' 카테고리의 다른 글
Streamlit - Text Input 받아서 Dynamic WebApp 구축하는법, text input을 event로 처리하는법 (1) 2021.01.11