PyTorch
גרסה אחרונה | 2.5.0 (17 באוקטובר 2024) |
---|---|
מערכת הפעלה | לינוקס, macOS, Microsoft Windows |
נכתבה בשפות | C++, C, פייתון, CUDA |
סוג רישיון | רישיון BSD החדש |
קוד מקור | https://github.com/pytorch/pytorch |
pytorch | |
PyTorch היא ספריית למידת מכונה בקוד פתוח המבוססת על ספריית Torch[1][2][3] ומשמשת ליישומים כגון ראייה ממוחשבת ועיבוד שפה טבעית.[4] היא פותחה בעיקר על ידי מעבדת FAIR (Facebook's AI Research lab).[5][6][7] PyTorch היא תוכנה חופשית בעלת קוד פתוח המפורסמת תחת רישיון BSD Modified. אף על פי שממשק הפייתון הוא המוקד העיקרי שלה, יש לה גם ממשק ++C.[8]
מספר מוצרי תוכנה של למידה עמוקה בנויים על גבי PyTorch, כולל הטייס אוטומטי של טסלה[9]Pyro של אובר, [10] Transformers של Hugging Face,[11] PyTorch Lightning,[12][13] ו-Catalyst.[14][15]
PyTorch מספקת שתי תכונות ברמה גבוהה:[16]
- ספרייה לחישובי טנזורים (כמו NumPy) עם האצה חזקה בשימוש עם יחידות עיבוד גרפיות (GPU)
- רשתות עצביות עמוקות הבנויות על מערכת בידול אוטומטי מבוססת סוגים
היסטוריה
[עריכת קוד מקור | עריכה]פייסבוק מפעילה גם PyTorch וגם Convolutional Architecture להטמעת תכונות מהירה (Caffe2), אבל מודלים שהוגדרו על ידי שתי המסגרות לא היו תואמים זה לזה. פרויקט Open Neural Network Exchange (ONNX) נוצר על ידי פייסבוק ומיקרוסופט בספטמבר 2017 להמרת מודלים בין מסגרות. Caffe2 מוזג לתוך PyTorch בסוף מרץ 2018.[17]
טנזורים של PyTorch
[עריכת קוד מקור | עריכה]PyTorch מגדיר מחלקה בשם Tensor (או torch.
Tensor
) לאחסן ולפעול על מערכים מלבניים רב-ממדיים הומוגניים של מספרים. PyTorch Tensors דומים ל-NumPy Arrays, אך ניתן להפעיל אותם גם על Nvidia GPU בעל יכולת CUDA. ספריית PyTorch תומכת בתתי סוגים שונים של Tensors. [18]
מודלים
[עריכת קוד מקור | עריכה]מודל Autograd
[עריכת קוד מקור | עריכה]PyTorch משתמש בשיטה הנקראת בידול אוטומטי. רכיב הקלטה מקליט את הפעולות שביצעו, ולאחר מכן הוא משמיע אותו לאחור כדי לחשב את הגרדיינטים. שיטה זו חזקה במיוחד בעת בניית רשתות עצביות כדי לחסוך זמן ב-epoch אחד על ידי חישוב בידול של הפרמטרים במעבר קדימה.
מודל Optim
[עריכת קוד מקור | עריכה]torch.optim
הוא מודול שמיישם אלגוריתמי אופטימיזציה שונים המשמשים לבניית רשתות עצביות. רוב השיטות הנפוצות כבר נתמכות, כך שאין צורך לבנות אותן מאפס.
מודל nn
[עריכת קוד מקור | עריכה]PyTorch autograd מקל על הגדרת גרפים חישוביים ולקחת מעברי צבע, אבל autograd גולמי יכול להיות ברמה מעט נמוכה מדי להגדרת רשתות עצביות מורכבות. זה המקום שבו nn
יכול לעזור.
קישורים חיצוניים
[עריכת קוד מקור | עריכה]- PyTorch, ברשת החברתית אקס (טוויטר)
- PyTorch, סרטונים בערוץ היוטיוב
הערות שוליים
[עריכת קוד מקור | עריכה]- ^ Yegulalp, Serdar (19 בינואר 2017). "Facebook brings GPU-powered machine learning to Python". InfoWorld. נבדק ב-11 בדצמבר 2017.
{{cite news}}
: (עזרה) - ^ Lorica, Ben (3 באוגוסט 2017). "Why AI and machine learning researchers are beginning to embrace PyTorch". O'Reilly Media. נבדק ב-11 בדצמבר 2017.
{{cite web}}
: (עזרה) - ^ Ketkar, Nikhil (2017). "Introduction to PyTorch". Deep Learning with Python (באנגלית). Apress, Berkeley, CA. pp. 195–208. doi:10.1007/978-1-4842-2766-4_12. ISBN 9781484227657.
- ^ "Natural Language Processing (NLP) with PyTorch – NLP with PyTorch documentation". dl4nlp.info (באנגלית). נבדק ב-2017-12-18.
- ^ Patel, Mo (2017-12-07). "When two trends fuse: PyTorch and recommender systems". O'Reilly Media (באנגלית). נבדק ב-2017-12-18.
- ^ Mannes, John. "Facebook and Microsoft collaborate to simplify conversions from PyTorch to Caffe2". TechCrunch (באנגלית). נבדק ב-2017-12-18.
FAIR is accustomed to working with PyTorch – a deep learning framework optimized for achieving state of the art results in research, regardless of resource constraints. Unfortunately in the real world, most of us are limited by the computational capabilities of our smartphones and computers.
- ^ Arakelyan, Sophia (2017-11-29). "Tech giants are using open source frameworks to dominate the AI community". VentureBeat (באנגלית אמריקאית). נבדק ב-2017-12-18.
- ^ "The C++ Frontend". PyTorch Master Documentation. נבדק ב-2019-07-29.
- ^ Karpathy, Andrej. "PyTorch at Tesla - Andrej Karpathy, Tesla".
- ^ "Uber AI Labs Open Sources Pyro, a Deep Probabilistic Programming Language". Uber Engineering Blog (באנגלית אמריקאית). 2017-11-03. נבדק ב-2017-12-18.
- ^ PYTORCH-TRANSFORMERS: PyTorch implementations of popular NLP Transformers, PyTorch Hub, 2019-12-01, נבדק ב-2019-12-01
- ^ PYTORCH-Lightning: The lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate, Lightning-Team, 2020-06-18, נבדק ב-2020-06-18
- ^ "Ecosystem Tools". pytorch.org (באנגלית). נבדק ב-2020-06-18.
- ^ GitHub - catalyst-team/catalyst: Accelerated DL & RL, Catalyst-Team, 2019-12-05, נבדק ב-2019-12-05
- ^ "Ecosystem Tools". pytorch.org (באנגלית). נבדק ב-2020-04-04.
- ^ "PyTorch – About". pytorch.org. אורכב מ-המקור ב-2018-06-15. נבדק ב-2018-06-11.
- ^ "Caffe2 Merges With PyTorch". 2018-04-02.
- ^ "An Introduction to PyTorch – A Simple yet Powerful Deep Learning Library". analyticsvidhya.com. 2018-02-22. נבדק ב-2018-06-11.