Sten: อินเทอร์เฟซสำหรับ sparsity ที่มีประสิทธิภาพใน pytorch
สเตนมีจุดมุ่งหมายเพื่อแก้ปัญหาต่อไปนี้ที่ยังไม่ได้รับคำตอบในการใช้งานปัจจุบัน (Torch.sparse) ของ sparsity ใน Pytorch 1.11
- วิธีการรวมกลยุทธ์ sparsifying ในโมเดลและใช้ในรันไทม์?
- จะรักษาระดับ Sparsity ให้เหมือนกันในระหว่างการฝึกอบรมได้อย่างไร?
- จะเปิดใช้งานการสนับสนุนอัตโนมัติเต็มรูปแบบได้อย่างไร?
- วิธีเปิดใช้งานรูปแบบกระจัดกระจายที่กำหนดเองและการใช้งานตัวดำเนินการได้อย่างไร
ตัวอย่าง
- ตรวจสอบ build_from_scratch.ipynb เพื่อดูตัวอย่างการใช้อินเตอร์เฟสเพื่อสร้างโมดูล pytorch ตั้งแต่เริ่มต้น
- ตรวจสอบ modify_existing.ipynb เพื่อดูตัวอย่างของการแปลงโมดูล pytorch หนาแน่นที่มีอยู่เป็นกระจัดกระจาย
- ตรวจสอบ custom_implementations.ipynb เพื่อดูตัวอย่างของการลงทะเบียนการใช้งานที่กำหนดเองสำหรับ sparsifiers และตัวดำเนินการที่ตรงกับรูปแบบเฉพาะของอินพุตและเทนเซอร์เอาต์พุต
เริ่มต้นอย่างรวดเร็ว
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
การติดตั้ง
องค์กรรหัส
การใช้งานหลักตั้งอยู่ใน Sten.py ตัวอย่างสมุดบันทึก Jupyter อยู่ในไดเรกทอรีตัวอย่าง ตัวอย่างเพิ่มเติมสามารถพบได้ในรูปแบบของการทดสอบในไดเรกทอรีการทดสอบ การทดสอบสามารถดำเนินการได้โดยเรียก pytest
ในรูทโครงการ