-
Streamlit으로 모델 웹 서빙 연습개발자노트/네이버 부스트캠프 AI 2023. 12. 29. 23:20
Streamlit
프런트엔드 경험이 없어도 간단하게 프로토타입으로 웹 서비스를 만들 때 효과적인 라이브러리
Streamlit 장점
- 파이썬 스크립트 코드를 조금만 수정하면 웹을 띄울 수 있다
- 백엔드 개발이나 HTTP요청을 구현하지 않아도 된다
- 다양한 Component 제공해서 대시보드 UI를 구성할 수 있다
- Streamlit Cloud도 존재해서 쉽게 배포할 수 있다
- 화면 녹화 기능 존재한다.
(albumentations Demo도 Streamlit으로 만들어졌다고 함.)
테스트 결과
#실행방법 streamlit run {file명}
Strealit의 다양한 기능들
더보기이렇게 좌측에 sidebar를 만들어 위젯을 넣을 수 있다.
Json 파일도 표시 가능하고
차트나 심지어 지도 맵까지 보여줄 수 있다.
위도와 경도 값을 입력하니 서울의 지도가 나왔다.
slide bar, button, radio button, check box, LaTex 등등...
활용할 수 있는 게 아주 많았다.
파일 업로드 기능도 있고
session state로 전역변수 같이 코드를 짜면 초기화가 되지 않고 값이 저장된다.
이런 식으로 이미지를 입력하면 class를 예측하는 모델을 웹 페이지에 서빙해 보았다.
정말 간단하게 몇 줄 만으로 이런 웹 페이지를 구현할 수 있다는 점이 놀라웠다.
label class 값이 1씩 맞지 않아서 디버깅 작업한 것 말고는 정말 간단했다.
예제 코드와의 비교
내가 제출한 코드가 너무 간단한 형태였다.
모듈별로 파일 분리가 제대로 안되어있다.
예제코드는 일단 requirements.txt 파일을 따로 가지고,
main.py
predict.py
model.py
util.py
이런 식으로 모듈별로 파일이 분리되어 있었다.
그리고 필요한 소스는
assets 같은 폴더로 구분이 되어있었다.
'개발자노트 > 네이버 부스트캠프 AI' 카테고리의 다른 글
[네부캠 AI tech] 9주차 주간회고 (01/03~01/05) (0) 2024.01.05 MMDetection + WandB로 학습상황 확인하기 (+ 버전 3 방법 추가) (0) 2024.01.05 [네부캠 AI tech] 8주차 주간회고 (12/26~12/29) (0) 2023.12.29 동료 피드백을 읽으며 느낀점 정리 (0) 2023.12.29 마스크 착용 이미지 분류 경진대회 회고 (1) - 나의 기록 (1) 2023.12.24