pbj0812의 코딩 일기

[자동화] papermil을 통한 jupyter notebook 실행 본문

빅데이터/자동화

[자동화] papermil을 통한 jupyter notebook 실행

pbj0812 2020. 6. 4. 03:22

0. 목표

 - papermil을 통한 jupyter notebook 실행

 - 최종구조로는 반복 실행을 지원하는 crontab이나 airflow 내에서 python 혹은 ipynb(papermil 실행용) 파일을 돌려 반복 실행하고자 하는 ipynb 파일을 돌리는 구조

1. 실습

 0) papermil 설치

pip install papermill

 1) hello-papermil.ipynb

  (1) 내용 작성

  (2) View -> Cell Toolbar -> Tags

   - 셀 위에 뭔가를 쓸 수 있는 창 생성

  (3) 바꾸고 싶은 변수가 속한 셀에 parameters라고 쓰고 엔터(Add tag)

 2) run_papermil.py

  (1) 코드 작성

   - 위에서 작성한 hello-papermill.ipynb의 parameters 변수인 alpha 값과, ratio 값을 0.6, 0.1로 지정하고 hello-papermil2.ipynb 파일로 만들어라.

   - nest_asyncio=True는 (나의 경우에) 안쓰면 에러 발생

import papermill as pm

pm.execute_notebook(
   './hello-papermill.ipynb',
   './hello-papermill2.ipynb',
   parameters = dict(alpha=0.6, ratio=0.1),
    nest_asyncio=True
)

 (2) 실행

python run_papermil.py

2. 결과

 - 변경을 원한 1번 셀 밑에 새로운 셀이 생성(injected-parameters)되며 alpha, ratio 값이 0.6과 0.1로 지정된 이후 한번 run 한 상태

3. 참고

 - papermil github

Comments