Jupyter로 모든 것을 완결한다 ~nbdev의 소개~

이 기사는 바칸 Advent Calendar 2019의 4 일째 게시물입니다.
Jupyterer를 위한 기사입니다.
이해가 불충분 한 부분도 있기 때문에 자세한 내용은 공식을 확인하십시오.

nbdev란?



아마도 간결하게 말하면, IDE의 역할을 포함하여 Jupyter Notebook 하나로 작업을 완성시키는 Python의 프로그램 환경입니다.
패스트. 사랑 가 작성하고 있어 현재 개발중의 fastai v2 도 nbdev 를 이용하고 있다고 하는 것입니다.

현재, EDA나 모델 구축 등의 시행착오는 Jupyter Notebook을 이용해 행해지는 경우가 많아, "exploring"의 역할로서 존재하고 있습니다. 하지만 그 이후의 단계에서는 IDE를 사용하는 것이 일반적으로 되어 있습니다.

nbdev에서는 다음과 같은 기능을 제공하여 jupyter에서 완결을 시도하고 있습니다.
· py 파일 만들기
· README 만들기
· Visual diff
· merge conflict 확인, 수정

( 이하 공식에서 배차 )


튜토리얼, 사용법



다음은 Mac에서 행하고 있습니다만, Win에서도 순서는 변하지 않습니다.

설치 ~ Jupyter 열 때까지



1- 터미널에서 다음 명령으로 설치합니다.pip install nbdev
2- 공식이 템플릿을 만드는 중 그래서 그것을 기반으로 리포지토리를 만듭니다.


3- 만든 Repository를 Clone합니다.git clone [以下URL]


4- 연동할 리포지토리에 대한 정보를 추가하려면 settings.ini 를 편집합니다.settings.ini 의 이하 항목의 코멘트 아웃을 제외해, 기입 예와 같이 편집합니다.

<편집 전>


<기입 예>


lib_name, user, description은 작성한 repository에 대응시킵니다.
keywords는 무엇을 가리키고 있는지 알 수 없지만 적절한 문자열을 입력하십시오.
※ copyright까지 기재하지 않으면, 다음의 순서로 이끼합니다.

5- 터미널에서 다음 명령을 입력하여 lib_name 디렉토리를 만듭니다.nbdev_build_lib


(위의 이미지에서는 Pipfile과 Pipfile.lock이 표시되지만 관계 없으므로 무시하십시오)

6- jupyter notebook 에서 Jupyter Notebook을 엽니다.

py 파일 만들기


00_core.ipynb 를 열고 다음과 같이 모듈을 생성합니다.
1. python module로 변환하는 것과 관련하여 해당 셀의 시작 부분에 #export를 추가합니다.
2. 아래 두 줄을 셀에 넣고 실행합니다. (또는 터미널에서 nbdev_build_lib를 실행합니다.)
from nbdev.export import * notebook2script()
<이하 예>


이것에 의해, #export 로 지정한 것이, lib_name 디렉토리 부하의 core.py 에 기재됩니다.
2단계를 수행할 때마다 core.py가 업데이트되므로 추가 외에도 기존 셀을 지우면 삭제할 수 있습니다.



README 편집


99_index.ipynb 를 열면 다음 템플릿이 표시됩니다.#hide 가 기재된 셀은 숨겨지기 때문에, 여기서 #export 한 것을 포함한 모듈을 import 합니다.

<템플릿>


<이하 예>


편집이 완료되면 terminal에서 nbdev_build_docs를 실행하면 디렉토리에있는 README.md가 업데이트됩니다.

그런 다음 remote repository로 푸시하면 github의 README에서 다음과 같이 표시됩니다.



결론



어땠어?
nbdev의 개요, 사용법의 일부를 소개해 보았습니다.
이 기사를 통해 nbdev를 사용해 보는 계기가 되면 다행입니다.
커버할 수 없는 부분도 있으므로 아래 참고문헌을 확인해 보세요.

참고문헌



· nbdev: use Jupyter Notebooks for everything
· Welcome to nbdev
· Nbdev discussion
· A Step-by-Step Introduction to Starting nbdev — Exploratory Programming
· 이번이야말로 좌절하지 않는 git 입문 제1회

참고 링크



· 주식회사 바칸(Vacan, Inc.)
· 바칸 (Vacan) Advent Calendar 2019

참고 정보



당사 대표이사 는 Kaggle 의견입니다.

좋은 웹페이지 즐겨찾기