Torchdistill (เดิมคือ KDKIT ) นำเสนอวิธีการกลั่นความรู้ที่ทันสมัยที่หลากหลายและช่วยให้คุณสามารถออกแบบ (ใหม่) การทดลองง่ายๆโดยการแก้ไขไฟล์กำหนดค่า YAML ที่ประกาศแทนรหัส Python แม้ว่าคุณจะต้องแยกการเป็นตัวแทนระดับกลางในโมเดลครู/นักเรียนคุณ ไม่ จำเป็นต้องปรับปรุงโมเดลใหม่ซึ่งมักจะเปลี่ยนอินเทอร์เฟซของไปข้างหน้า แต่แทนที่จะระบุเส้นทางโมดูลในไฟล์ YAML อ้างถึงเอกสารเหล่านี้สำหรับรายละเอียดเพิ่มเติม
นอกเหนือจากการกลั่นความรู้เฟรมเวิร์กนี้ยังช่วยให้คุณออกแบบและทำการทดลองการเรียนรู้เชิงลึกทั่วไป ( โดยไม่ต้องเขียนโค้ด ) สำหรับการศึกษาการเรียนรู้เชิงลึกที่ทำซ้ำได้ เช่นมันช่วยให้คุณสามารถฝึกอบรมโมเดลโดยไม่มีครูเพียงแค่ไม่รวมรายการครูจากไฟล์กำหนดค่า Yaml ที่ประกาศ คุณสามารถค้นหาตัวอย่างด้านล่างและใน configs/sample/
เมื่อคุณอ้างถึง Torchdistill ในกระดาษของคุณโปรดอ้างอิงเอกสารเหล่านี้แทนที่เก็บ GitHub นี้
หากคุณใช้ Torchdistill เป็นส่วนหนึ่งของงานของคุณการอ้างอิงของคุณจะได้รับการชื่นชมและกระตุ้นให้ฉันรักษาและอัพเกรดกรอบนี้!
คุณสามารถค้นหาเอกสารและโครงการวิจัย API ที่ใช้ประโยชน์จาก Torchdistill ได้ที่ https://yoshitomo-matsubara.net/torchdistill/
การใช้ ForwardHookManager คุณสามารถแยกการแสดงระดับกลางในโมเดลโดยไม่ต้องแก้ไขอินเทอร์เฟซของฟังก์ชันไปข้างหน้า
สมุดบันทึกตัวอย่างนี้จะช่วยให้คุณมีความคิดที่ดีขึ้นเกี่ยวกับการใช้งานเช่นการกลั่นความรู้และการวิเคราะห์การเป็นตัวแทนระดับกลาง
ใน Torchdistill ส่วนประกอบและโมดูล Pytorch จำนวนมากนั้นเป็นนามธรรมเช่นโมเดลชุดข้อมูลชุดเครื่องมือเพิ่มประสิทธิภาพการสูญเสียและอื่น ๆ ! คุณสามารถกำหนดไว้ในไฟล์กำหนดค่า Pyyaml ที่ประกาศเพื่อให้สามารถมองเห็นได้ว่าเป็นบทสรุปของการทดลองของคุณและในหลายกรณีคุณ ไม่จำเป็นต้องเขียนรหัส Python เลย ดูการกำหนดค่าบางอย่างที่มีอยู่ใน configs/ คุณจะเห็นโมดูลใดที่เป็นนามธรรมและวิธีการกำหนดไว้ในไฟล์กำหนดค่า pyyaml ที่ประกาศเพื่อออกแบบการทดลอง
หากคุณต้องการใช้โมดูลของคุณเอง (รุ่นฟังก์ชั่นการสูญเสียชุดข้อมูล ฯลฯ ) กับเฟรมเวิร์กนี้คุณสามารถทำได้โดยไม่ต้องแก้ไขรหัสในแพ็คเกจท้องถิ่น torchdistill/
ดูเอกสารอย่างเป็นทางการและการอภิปรายสำหรับรายละเอียดเพิ่มเติม
ความแม่นยำในการตรวจสอบความถูกต้องของ TOP-1 สำหรับ ILSVRC 2012 (ImageNet)
รหัสปฏิบัติการสามารถพบได้ในตัวอย่าง/ เช่น
สำหรับ CIFAR-10 และ CIFAR-100 บางรุ่นได้รับการปรับปรุงใหม่และมีให้เป็นรุ่นที่ผ่านการฝึกอบรมใน Torchdistill รายละเอียดเพิ่มเติมสามารถดูได้ที่นี่
หม้อแปลงบางรุ่นปรับแต่งโดย Torchdistill สำหรับงานกาวมีให้บริการที่ Hugging Face Model Hub ตัวอย่างมาตรฐานกาวและรายละเอียดสามารถดูได้ที่นี่
ตัวอย่างต่อไปนี้มีอยู่ในการสาธิต/ โปรดทราบว่าตัวอย่างเหล่านี้มีไว้สำหรับผู้ใช้ Google Colab และเข้ากันได้กับ Amazon Sagemaker Studio Lab โดยปกติตัวอย่าง/ จะเป็นข้อมูลอ้างอิงที่ดีกว่าหากคุณมี GPU ของคุณเอง
ตัวอย่างเหล่านี้เขียนไฟล์การทำนายการทดสอบเพื่อให้คุณเห็นประสิทธิภาพการทดสอบที่ระบบลีดเดอร์บอร์ดกาว
หากคุณพบโมเดลบน Pytorch Hub หรือ GitHub Repositories ที่สนับสนุน Pytorch Hub คุณสามารถนำเข้าเป็นรุ่นครู/นักเรียนได้ง่ายๆโดยการแก้ไขไฟล์กำหนดค่า YAML ที่ประกาศ
เช่นถ้าคุณใช้ resnest-50 ที่ได้รับการฝึกฝนไว้ใน HuggingFace/Pytorch-Image-Models (AKA TIMM ) เป็นแบบจำลองครูสำหรับชุดข้อมูล Imagenet คุณสามารถนำเข้าโมเดลผ่าน Pytorch Hub พร้อมรายการต่อไปนี้
models :
teacher_model :
key : ' resnest50d '
repo_or_dir : ' huggingface/pytorch-image-models '
kwargs :
num_classes : 1000
pretrained : True pip3 install torchdistill
# or use pipenv
pipenv install torchdistill
git clone https://github.com/yoshitomo-matsubara/torchdistill.git
cd torchdistill/
pip3 install -e .
# or use pipenv
pipenv install "-e ."
อย่าลังเลที่จะสร้างปัญหาหากคุณพบข้อผิดพลาด
หากคุณมีคำถามหรือคำขอคุณลักษณะให้เริ่มการสนทนาใหม่ที่นี่ โปรดค้นหาผ่านปัญหาและการอภิปรายและตรวจสอบให้แน่ใจว่าปัญหา/คำถาม/คำขอของคุณยังไม่ได้รับการแก้ไข
ยินดีต้อนรับคำขอดึง โปรดเริ่มต้นด้วยปัญหาและหารือเกี่ยวกับวิธีแก้ปัญหากับฉันแทนที่จะเริ่มด้วยคำขอดึง
หากคุณใช้ Torchdistill ในการวิจัยของคุณโปรดอ้างอิงเอกสารต่อไปนี้:
[กระดาษ] [preprint]
@inproceedings { matsubara2021torchdistill ,
title = { {torchdistill: A Modular, Configuration-Driven Framework for Knowledge Distillation} } ,
author = { Matsubara, Yoshitomo } ,
booktitle = { International Workshop on Reproducible Research in Pattern Recognition } ,
pages = { 24--44 } ,
year = { 2021 } ,
organization = { Springer }
}[กระดาษ] [OpenReview] [Preprint]
@inproceedings { matsubara2023torchdistill ,
title = { {torchdistill Meets Hugging Face Libraries for Reproducible, Coding-Free Deep Learning Studies: A Case Study on NLP} } ,
author = { Matsubara, Yoshitomo } ,
booktitle = { Proceedings of the 3rd Workshop for Natural Language Processing Open Source Software (NLP-OSS 2023) } ,
publisher = { Empirical Methods in Natural Language Processing } ,
pages = { 153--164 } ,
year = { 2023 }
} โครงการนี้ได้รับการสนับสนุนโดยเครดิต OSS ของ Travis CI และโปรแกรมใบอนุญาตฟรีของ Jetbrain (โอเพ่นซอร์ส) ตั้งแต่เดือนพฤศจิกายน 2564 และมิถุนายน 2565 ตามลำดับ