PyTorch

PyTorch відкрита бібліотека машинного навчання на основі бібліотеки Torch[1][2][3], що використовують для таких застосувань, як комп'ютерне бачення та обробка природної мови.[4] Розробляє її переважно група дослідження штучного інтелекту компанії Facebook.[5][6][7] Вона є вільним та відкритим програмним забезпеченням, що випускають під ліцензією Modified BSD. І хоча інтерфейс Python є більш відшліфованим, і головним зосередженням розробки, PyTorch також має зовнішній інтерфейс і для C++.[8] Крім того, програмне забезпечення ймовірнісної мови програмування Pyro компанії Uber використовує PyTorch як внутрішній інтерфейс.[9]

PyTorch
Тип Бібліотека для машинного навчання та глибинного навчання
Автор(и) Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan
Перший випуск жовтень 2016 (2016-10)
Репозиторій github.com/pytorch/pytorch
Платформа IA-32, x86-64
Операційна система Linux, macOS і Microsoft Windows
Мова програмування C++, Python, C і CUDA
Доступні мови англійська
Ліцензія BSD
Вебсайт pytorch.org

PyTorch забезпечує дві високорівневі функціональності:[10]

Історія

Facebook використовував як PyTorch, так і Convolutional Architecture for Fast Feature Embedding (Caffe2), але моделі, визначені цими двома системами, були взаємно несумісними. Для перетворювання моделей між системами компаніями Facebook та Microsoft у вересні 2017 року було створено проєкт Open Neural Network Exchange (ONNX). Наприкінці березня 2018 року Caffe2 було влито до PyTorch.[11]

Тензори PyTorch

Тензори, хоч вони й з математики, в програмуванні відрізняються, тут їх можливо розглядати як багатовимірні масиви. Тензори в PyTorch є подібними до масивів NumPy, але ними також можливо оперувати на ГП Nvidia з підтримкою CUDA. PyTorch підтримує різні типи тензорів.[12]

Модулі

Модуль autograd

PyTorch використовує метод, званий автоматичним диференціюванням. Записувач записує, які дії було виконано, а потім програє їх назад, щоби обчислити градієнти. Цей метод є особливо потужним при будуванні нейронних мереж, щоби заощаджувати час на одній епосі, обчислюючи диференціювання параметрів на прямому проході.

Модуль optim

torch.optim — це модуль, що втілює різноманітні алгоритми оптимізації, які використовують для будування нейронних мереж. Більшість широко вживаних методів вже підтримувано, тож потреби будувати їх з нуля немає.

Модуль nn

autograd PyTorch дозволяє легко визначати обчислювальні графи та брати градієнти, але autograd в чистому вигляді може бути дещо занадто низькорівневим для визначення складних нейронних мереж. Саме тут може допомагати модуль nn.

Див. також

Примітки

  1. Yegulalp, Serdar (19 січня 2017). Facebook brings GPU-powered machine learning to Python. InfoWorld. Процитовано 11 грудня 2017. (англ.)
  2. Lorica, Ben (3 серпня 2017). Why AI and machine learning researchers are beginning to embrace PyTorch. O'Reilly Media. Процитовано 11 грудня 2017. (англ.)
  3. Ketkar, Nikhil (2017). Introduction to PyTorch. Deep Learning with Python (англ.). Apress, Berkeley, CA. с. 195–208. ISBN 9781484227657. doi:10.1007/978-1-4842-2766-4_12. (англ.)
  4. Natural Language Processing (NLP) with PyTorch – NLP with PyTorch documentation. dl4nlp.info (англ.). Процитовано 18 грудня 2017. (англ.)
  5. Patel, Mo (7 грудня 2017). When two trends fuse: PyTorch and recommender systems. O'Reilly Media (англ.). Процитовано 18 грудня 2017. (англ.)
  6. Mannes, John. Facebook and Microsoft collaborate to simplify conversions from PyTorch to Caffe2. TechCrunch (англ.). Процитовано 18 грудня 2017. «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.» (англ.)
  7. Arakelyan, Sophia (29 листопада 2017). Tech giants are using open source frameworks to dominate the AI community. VentureBeat (амер.). Процитовано 18 грудня 2017. (англ.)
  8. The C++ Frontend. PyTorch Master Documentation. Процитовано 29 липня 2019. (англ.)
  9. Uber AI Labs Open Sources Pyro, a Deep Probabilistic Programming Language. Uber Engineering Blog (амер.). 3 листопада 2017. Процитовано 18 грудня 2017. (англ.)
  10. PyTorch – About. pytorch.org. Архів оригіналу за 15 червня 2018. Процитовано 11 червня 2018. (англ.)
  11. Caffe2 Merges With PyTorch. 2 квітня 2018. (англ.)
  12. An Introduction to PyTorch – A Simple yet Powerful Deep Learning Library. analyticsvidhya.com. 22 лютого 2018. Процитовано 11 червня 2018. (англ.)

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.