Jupyter로 모든 것을 완결한다 ~nbdev의 소개~
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 의견입니다.
Reference
이 문제에 관하여(Jupyter로 모든 것을 완결한다 ~nbdev의 소개~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Ant3_Ng/items/c463476fcbc9a0de78bf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)