Annotated Transformer 블로그 게시물의 코드:
http://nlp.seas.harvard.edu/annotated-transformer/
requirements.txt
사용하여 pip로 라이브러리 종속성을 설치합니다.
pip install -r requirements.txt
주석 변환기는 jupytext를 사용하여 생성됩니다.
일반 노트북은 소스 제어에 문제가 있습니다. 셀 출력이 저장소 기록에 남고 커밋 간의 차이점을 조사하기 어렵습니다. jupytext를 사용하면 jupytext 플러그인에 의해 노트북 파일과 자동으로 동기화되는 Python 스크립트( .py
파일)가 있습니다.
커밋된 Python 스크립트에는 모든 셀 내용이 포함되어 있으며 노트북 파일을 생성하는 데 사용할 수 있습니다. Python 스크립트는 일반 Python 소스 파일이며 마크다운 섹션은 표준 주석 규칙을 사용하여 포함되며 출력은 저장되지 않습니다. 노트북 자체는 빌드 아티팩트로 처리되며 git 저장소에 커밋되지 않습니다.
이 저장소를 사용하기 전에 여기에 있는 설치 지침에 따라 jupytext가 설치되어 있는지 확인하세요.
마크다운 소스를 사용하여 .ipynb
노트북 파일을 생성하려면 다음을 실행합니다(내부적으로 notebook
빌드 대상은 jupytext --to ipynb the_annotated_transformer.py
실행합니다).
make notebook
노트북의 HTML 버전을 생성하려면 다음을 실행하세요.
make html
make html
jupytext --to ipynb the_annotated_transformer.py
사용하여 노트북을 생성하고 jupyter nbconvert 명령을 사용하여 jupyter nbconvert --to html the_annotated_transformer.ipynb
사용하여 html을 생성하는 바로 가기입니다.
코드 형식을 깨끗하게 유지하기 위해 주석이 달린 변환기 git repo에는 코드가 PEP8 코딩 표준을 준수하는지 확인하는 git 작업이 있습니다.
이를 더 쉽게 하기 위해 black 및 flake8을 사용하여 자동 코드 형식 지정을 실행하는 두 가지 Makefile
빌드 대상이 있습니다.
black과 flake8을 꼭 설치해주세요.
그런 다음 다음을 실행할 수 있습니다.
make black
(또는 수동으로 black black --line-length 79 the_annotated_transformer.py
호출) black을 사용하여 자동으로 코드 형식을 지정하고 다음을 수행합니다.
make flake
(또는 flake8 `flake8 --show-source the_annotated_transformer.py를 수동으로 호출하여) PEP8 위반을 확인하세요.
PR을 제출할 때 이 두 명령을 실행하고 발생하는 flake8 오류를 수정하는 것이 좋습니다. 그렇지 않으면 github 작업 CI가 오류를 보고합니다.