Kode untuk postingan blog The Annotated Transformer:
http://nlp.seas.harvard.edu/annotated-transformer/
Gunakan requirements.txt
untuk menginstal dependensi perpustakaan dengan pip:
pip install -r requirements.txt
Transformer Beranotasi dibuat menggunakan jupytext.
Buku catatan biasa menimbulkan masalah untuk kontrol sumber - keluaran sel berakhir di riwayat repo dan perbedaan antar penerapan sulit untuk diperiksa. Menggunakan jupytext, ada skrip python (file .py
) yang secara otomatis disinkronkan dengan file notebook oleh plugin jupytext.
Skrip python yang dikomit berisi semua konten sel dan dapat digunakan untuk menghasilkan file notebook. Skrip python adalah file sumber python biasa, bagian penurunan harga disertakan menggunakan konvensi komentar standar, dan keluaran tidak disimpan. Notebook itu sendiri diperlakukan sebagai artefak build dan tidak dikomit ke repositori git.
Sebelum menggunakan repo ini, pastikan jupytext sudah terinstal dengan mengikuti petunjuk instalasi di sini.
Untuk menghasilkan file notebook .ipynb
menggunakan sumber penurunan harga, jalankan (di bawah tenda, target pembuatan notebook
cukup menjalankan jupytext --to ipynb the_annotated_transformer.py
):
make notebook
Untuk menghasilkan notebook versi html, jalankan:
make html
make html
hanyalah jalan pintas untuk membuat notebook dengan jupytext --to ipynb the_annotated_transformer.py
diikuti dengan menggunakan perintah jupyter nbconvert untuk menghasilkan html menggunakan jupyter nbconvert --to html the_annotated_transformer.ipynb
Untuk menjaga pemformatan kode tetap bersih, repo git transformator beranotasi memiliki tindakan git untuk memeriksa apakah kode tersebut sesuai dengan standar pengkodean PEP8.
Untuk mempermudahnya, ada dua target build Makefile
untuk menjalankan pemformatan kode otomatis dengan warna hitam dan flake8.
Pastikan untuk menginstal warna hitam dan serpihan8.
Anda kemudian dapat menjalankan:
make black
(atau sebagai alternatif, panggil black black --line-length 79 the_annotated_transformer.py
) secara manual untuk memformat kode secara otomatis menggunakan warna hitam dan:
make flake
(atau panggil flake8 `flake8 --show-source the_annotated_transformer.py secara manual) untuk memeriksa pelanggaran PEP8.
Disarankan untuk menjalankan kedua perintah ini dan memperbaiki kesalahan flake8 yang muncul, saat mengirimkan PR, jika tidak, CI tindakan github akan melaporkan kesalahan.