Sten: Antarmuka untuk sparsity yang efisien di Pytorch
Sten bertujuan untuk menyelesaikan pertanyaan -pertanyaan berikut yang tetap tidak terjawab dalam implementasi saat ini (Torch.sparse) dari sparsity di Pytorch 1.11.
- Bagaimana cara menggabungkan strategi yang melestarikan dalam model dan menggunakannya dalam runtime?
- Bagaimana cara menjaga tingkat sparsity tetap sama selama pelatihan?
- Bagaimana cara mengaktifkan dukungan autograd penuh?
- Bagaimana cara mengaktifkan format jarang dan implementasi operator?
Contoh
- Periksa build_from_scratch.ipynb untuk melihat contoh penggunaan antarmuka untuk membangun modul pytorch dari awal.
- Periksa Modify_existing.ipynb untuk melihat contoh mengonversi modul pytorch padat yang ada menjadi jarang.
- Periksa custom_implementations.ipynb untuk melihat contoh mendaftarkan implementasi khusus untuk sparsifier dan operator yang cocok dengan format spesifik dari input dan tensor output.
Awal yang cepat
git clone https://github.com/spcl/sten.git
cd sten
python -m venv venv
source venv/bin/activate
pip install .
python tests/test_api.py
Instalasi
Organisasi Kode
Implementasi inti terletak di sten.py. Contoh notebook Jupyter terletak di Direktori Contoh. Bahkan lebih banyak contoh dapat ditemukan dalam bentuk tes di direktori tes. Tes dapat dijalankan dengan memanggil pytest
di root proyek.