Loading AI tools
З Вікіпедії, вільної енциклопедії
PyTorch — відкрита бібліотека машинного навчання на основі бібліотеки Torch[1][2][3], що застосовується для задач комп'ютерного бачення та обробки природної мови.[4] Розробляє її переважно група дослідження штучного інтелекту компанії Facebook.[5][6][7] Вона є вільним та відкритим програмним забезпеченням, що випускають під ліцензією Modified BSD. І хоча інтерфейс Python є більш відшліфованим, і головним зосередженням розробки, PyTorch також має зовнішній інтерфейс і для C++.[8] Крім того, програмне забезпечення ймовірнісної мови програмування[en] Pyro компанії Uber використовує PyTorch як внутрішній інтерфейс.[9]
Тип | Бібліотека для машинного навчання та глибокого навчання |
---|---|
Автор | Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan |
Перший випуск | жовтень 2016 |
Платформа | IA-32, x86-64 |
Операційна система | Linux, macOS і Windows |
Мова програмування | C++, Python, C і CUDA |
Доступні мови | англійська |
Ліцензія | BSD |
Онлайн-документація | pytorch.org/docs/stable/index.html |
Репозиторій | github.com/pytorch/pytorch |
Вебсайт | 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 є подібними до масивів NumPy, але ними також можливо оперувати на ГП Nvidia з підтримкою CUDA. PyTorch підтримує різні типи тензорів.[12]
autograd
PyTorch використовує метод, званий автоматичним диференціюванням. Записувач записує, які дії було виконано, а потім програє їх назад, щоби обчислити градієнти. Цей метод є особливо потужним при будуванні нейронних мереж, щоби заощаджувати час на одній епосі, обчислюючи диференціювання параметрів на прямому проході.
optim
torch.optim
— це модуль, що втілює різноманітні алгоритми оптимізації, які використовують для будування нейронних мереж. Більшість широко вживаних методів вже підтримувано, тож потреби будувати їх з нуля немає.
nn
autograd
PyTorch дозволяє легко визначати обчислювальні графи та брати градієнти, але autograd
в чистому вигляді може бути дещо занадто низькорівневим для визначення складних нейронних мереж. Саме тут може допомагати модуль nn
.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.