꺼내먹는지식 준
Product Serving 해보기 1 - Voila 본문
Notebook 베이스 프로토타입
Jupyter Notebook에서 함수를 작성한 후, 예측 함수 실행해보며 성능 확인
혼자 확인 할 때는 위와 같이 진행해도 괜찮으나, 동료들과 함께 보면서 이야기 할 때는?
"Module Not Found Error..."
라이브러리의 의존성으로 테스트를 위해 추가 환경 설정이 필요하다. (requirements.txt를 명시할 수도 있지만.. )
$\rightarrow$ 개발을 잘 아는 분들에게는 가상환경 세팅 요청할 수 있지만.. 모르는 분들은?
nbconvert를 사용해 HTML으로 추출할 수도 있음
인터렉티브하게 조작하기 어려우며, 이미지 용량 따라 느려질 수도 있음
이에 따라 모델 개발 후, 사람
들과 테스트할 수 있는
프로토타입을 먼저 만들어보자.
모델이 어떤 결과 반환하는가 테스트 하기
그러나 웹서비스 제작은 많은 시간 소요
익숙한 노트북에서 프로그램을 만드면 시간을 아낄 수 있다. $\rightarrow$ Voila 사용
ipwidget과 같이 사용할 경우 간단한 대시보드 구축 가능
실행할 때 저장된 Notebook 파일이 순차적으로 실행
쥬피터 노트북으로 만들었던 것을 바로 web 에 띄어볼 수 있기 때문에 많이 사용하는 1차적 프로토타이핑 툴
사용 예시
Threshold 조정에 따른 image변화
Voila vs Dash
그러나 Voila는 Dash 문법을 익힐 필요가 없다!!
다양한 Dashboard...
DB 연결, 등 .. 과정이 필요하다.
Voila 장점 정리
설치, 사용 방법
Notebook에 다양한 extension이 있다. 아래 설정은 extension 사용할 수 있도록 하는 설정
새로고침으로 상태 확인 가능
ipywidget으로 다음과 같이 구현하고 동작을 볼 수 있다.
코드보기
cull 옵션을 사용해서, 사용하지 않는 경우에 강제로 끄도록 설정해놓아야 한다. 이렇지 않으면 안꺼지고 평생 갈 수도!
여기서는 60초마다 보고 300초마다 아무일도 안하면 꺼버린다! :)
실행 중 멈춤 상황 대처
nbextension
늘 보완에 신경쓰자. 적어도 적당히 password 정도는 설정을 하자.
1) 경로에 config 파일 저장
2) password 생성
3) 다음과 같이 적어놓으면 앞으로 암호를 물어본다.
ipywidget
import
IntSlider (정수형)
Slider Widget (Float slider와 유사)
구체적 내용을 사용하게 되면 해보자.
다음과 같은 range slider 도 제작 가능
출력으로 UI에 접근 가능
Text 입력 min - max 처럼 범위를 주지 않으면 모두 입력 가능
Text 위젯 가능
토글 버튼도 사용 가능
클릭 되었느냐 안되었느냐로 함수 정의 가능
키 벨류 값으로 넣는 값이 key가 되어 value 값을 저장도 가능
파일 업로드 widget
이미지 업로드, 영상 업로드는 가능할까?
on_click 으로 동작 기능 구현 가능
위젯 값 변화에 따라 특정 함수 감지 및 실행도 가능!
Ipywidget을 활용하여 여러가지 시도해볼 수 있다.
요렇게도 구성 가능!
'AI > MLOps' 카테고리의 다른 글
Product Serving 해보기 2 - Streamlit (0) | 2022.05.17 |
---|---|
Model Serving 개론 (0) | 2022.05.17 |
MLOps 개론 (0) | 2022.05.16 |