[부스트캠프 AI-Tech] 18주차 Day 3

LKM·2022년 7월 25일
0

✏️학습 정리


2-1. Notebook 베이스 - Voila

  • Notebook 베이스 프로토타입 만들기

    • 모델 개발 후, 사람들과 테스트할 프로토타입 필요
    • 웹 서비스를 만드는 것은 시간이 많이 소요
    • 이런 경우 활용할 수 있는 도구: Voila
  • Voila

    • 본래 목적: 대시보드
    • R의 Shiny, 파이썬의 Dash와 유사한 도구
    • 대시보드는 다양한 도구 존재 (Superset, Metabase, Redash, Tableau)
      • but, 모두 서버에 제품을 설치한 후, 연동시켜야 함
    • 장점
      • Notebook에서 별도의 코드 추가 없이 실행 가능 (웹 형태로)
      • Noetbook에서 바로 대시보드로 변환 가능
      • 고유한 탬플릿 생성 가능
      • 익히기 쉬움
  • Voila 사용

    • 설치: pip3 install voila
    • JupyterLab: jupyter labextension install @jupyter-voila/jupyterlab-preview
    • Jupyter Notebook or Server: jupyter serverextension enable voila --sys-prefix
    • TIP
      • --strip_sources=False 설정시 Voila에서 코드도 보임
      • 유저별로 새로운 Notebook Kernel 실행시키는 구조
      • 아무 설정 하지 않을 경우 하나의 Cell이 30초 이상 진행되면 Timeout Error 발생
      • 웹 형태라 항상 보안에 신경 써야 함 (passwd를 이용해 암호 지정 등..)
  • ipywidget

    • Notebook 프로젝트 (인터랙티브한 효과 줌)
    • Slider Widget
      • Slider 객체 사용
      • display: Python Object 보여주는 함수
      • IntSlider : 정수형 Slider (그 외에 Float, IntRange 등)
      • int_widget.value : 출력시 값이 보임
    • Text Widget
      • Slider가 아닌 Input 입력
      • Bounded : 범위가 주어진 Text
      • Text, Textarea, Password : String Text 위젯
    • Boolean Widget
      • True, False를 표시할 수 있는 Widget
      • ToggleButton, Checkbox
    • Selection Widget
      • 선택할 수 있는 Widget
      • Dropdown , RadioButtons
    • Upload Widget
      • FileUpload
    • Image Widget
      • Image
    • Date Picker Widget
      • Date를 선택하는 Widget
      • Date, Time, Datetime
    • Widget Events (on_click)
      • 버튼이 클릭되었을 때, 어떤 함수가 동작하길 원하는 경우
      • on_click 인자에 함수를 넘기면 됨
    • Widget Events (observe)
      • 위젯의 값이 변경되는 것을 감지해서 특정 함수를 실행하고 싶은 경우
      • observe 인자에 함수를 넘기면 됨
    • interact Decorator
      • @interact 데코레이터를 사용하면 UI 컨트롤러 생성
      • 함수의 인자를 받아서 UI 생성
    • Layout(HBox, VBox)
      • 위젯의 레이아웃을 구성하고 싶은 경우
profile
함께 자라기

0개의 댓글