Implementasi transformator sederhana dari awal di Pytorch. Lihat http://peterbloem.nl/blog/transformers untuk penjelasan mendalam.
Model yang diterapkan di sini dirancang untuk menunjukkan kesederhanaan model transformator dan perhatian diri. Karena itu mereka tidak akan skala sejauh transformer yang lebih besar. Untuk itu Anda akan membutuhkan sejumlah trik yang menyulitkan kode (lihat posting blog untuk detailnya).
Semua model dalam repositori terdiri dari tumpukan tunggal blok transformator (yaitu, tidak ada struktur encoder/decoder). Ternyata konfigurasi sederhana ini sering bekerja paling baik.
Pertama, unduh atau klon repositori. Kemudian, di direktori yang berisi setup.py, jalankan
pip install -e .
Sakelar -e memastikan bahwa ketika Anda mengedit kode, kemasan yang diinstal juga diubah. Ini berarti Anda dapat, misalnya, menambahkan pernyataan cetak ke kode untuk melihat cara kerjanya.
Kemudian, dari direktori yang sama, jalankan:
python experiments/classify.py
Ini akan menjalankan percobaan klasifikasi sederhana pada dataset IMDB.
Hyperparameters dilewatkan sebagai argumen baris perintah. Default harus bekerja dengan baik. Data klasifikasi diunduh secara otomatis, dan data wikipedia disertakan dalam repositori.
Diperlukan Python 3.6+. Perintah PIP di atas harus menginstal semua paket yang diperlukan. Anda mungkin juga memerlukan pip install future tergantung pada versi Python yang tepat.
File environment.yml menjelaskan lingkungan Conda yang lengkap dengan semua dependensi. Setelah mengkloning atau mengunduh proyek, Anda menciptakan lingkungan sebagai berikut:
conda env create -f environment.yml --name former
conda activate former