[부스트캠프 AI tech Product Serving] week18 (2022.05.18) Streamlit

redgreen·2022년 5월 18일
0

Streamlit

  • Voila의 장점
    : 노트북에서 쉽게 효율적으로 프로토타입을 만들 수 있음.
    단, 레이아웃잡기는 어려움
  • 다른 조직의 도움없이 빠르게 웹 서비스를 만드는 방법
  • 데이터 분석가가 웹 서비스를 작업하는 FLOW
  • Streamlit의 대안
    1) R의 Shiny
    2) Flask, FastAPI: 백엔드 직접 구성 + 프론트엔드작업
    3) Dash: 제일 기능이 풍부한 Python 대시보드 라이브러리
    4) Voila
  • Streamlit의 장점
    1) 파이썬 스크립트 코드를 조금만 수정하면 웹을 띄울 수 있음
    2) 백엔드 개발이나 HTTP 요청을 구현하지 않아도 됨
    3) 다양한 Component를 제공해 대시보드 UI 구성 가능
    4) Streamlit Cloud도 존재해 쉽게 배포가능
    5) 화면 녹화 기능 -> github readme에 추가가능
  • Streamlit Gallery : https://streamlit.io/gallery
  • Widgets
    : voila처럼 다양한 widget API를 제공
    : https://docs.streamlit.io/library/api-reference
    : https://share.streamlit.io/daniellewisdl/streamlit-cheat-sheet/app.py

  • 전체 Streamlit 코드가 다시 실행되는 경우
    1) code가 수정되는 경우
    2) 사용자가 widget과 상호작용하는 경우
    : 코드가 다시 실행되어 변수가 초기화되는 것을 막기위해 st.session_state를 사용

    : 캐싱하면 좋은 데이터들은 @st.cache데코레이터를 사용해 캐싱 메모리에 저장해둘 수 있음

실행방법

streamlit run $파일이름 --server.port $할당받은포트번호
profile
인공지능 꿈나무

0개의 댓글