Código para a postagem do blog The Annotated Transformer:
http://nlp.seas.harvard.edu/annotated-transformer/
Use requirements.txt
para instalar dependências de biblioteca com pip:
pip install -r requirements.txt
O Transformador Anotado é criado usando jupytext.
Notebooks regulares apresentam problemas para o controle de origem - as saídas das células acabam no histórico do repositório e as diferenças entre os commits são difíceis de examinar. Usando jupytext, existe um script python (arquivo .py
) que é automaticamente mantido em sincronia com o arquivo do notebook pelo plugin jupytext.
O script python confirmado contém todo o conteúdo da célula e pode ser usado para gerar o arquivo do notebook. O script python é um arquivo fonte python regular, as seções de markdown são incluídas usando uma convenção de comentários padrão e as saídas não são salvas. O notebook em si é tratado como um artefato de construção e não está comprometido com o repositório git.
Antes de usar este repositório, certifique-se de que o jupytext esteja instalado seguindo as instruções de instalação aqui.
Para produzir o arquivo de notebook .ipynb
usando a fonte de markdown, execute (nos bastidores, o destino de construção notebook
simplesmente executa jupytext --to ipynb the_annotated_transformer.py
):
make notebook
Para produzir a versão HTML do notebook, execute:
make html
make html
é apenas um atalho para gerar o notebook com jupytext --to ipynb the_annotated_transformer.py
seguido pelo uso do comando jupyter nbconvert para produzir html usando jupyter nbconvert --to html the_annotated_transformer.ipynb
Para manter a formatação do código limpa, o repositório git do transformador anotado tem uma ação git para verificar se o código está em conformidade com os padrões de codificação PEP8.
Para tornar isso mais fácil, existem dois alvos de construção Makefile
para executar a formatação automática de código com black e flake8.
Certifique-se de instalar preto e flake8.
Você pode então executar:
make black
(ou, alternativamente, chame manualmente black black --line-length 79 the_annotated_transformer.py
) para formatar o código automaticamente usando black e:
make flake
(ou chame manualmente flake8 `flake8 --show-source the_annotated_transformer.py) para verificar violações de PEP8.
É recomendado executar esses dois comandos e corrigir quaisquer erros flake8 que surgirem ao enviar um PR, caso contrário, o CI de ações do github reportará um erro.