Меню
Главная
Случайная статья
Настройки
|
PyTorch — фреймворк машинного обучения для языка Python с открытым исходным кодом, созданный на базе Torch[2][3][4]. Используется для решения различных задач: компьютерное зрение, обработка естественного языка.[5] Разрабатывается преимущественно группой искусственного интеллекта Facebook[6][7][8]. Также вокруг этого фреймворка выстроена экосистема[9], состоящая из различных библиотек, разрабатываемых сторонними командами: PyTorch Lightning и Fast.ai[10], упрощающие процесс обучения моделей, Pyro (модуль для вероятностного программирования[англ.]) от Uber[11], Flair[12] для обработки естественного языка и Catalyst[13] для обучения DL- и RL-моделей.
PyTorch предоставляет две основные высокоуровневые модели:[14]
- Тензорные вычисления (по аналогии с NumPy) с развитой поддержкой ускорения на GPU;
- Глубокие нейронные сети на базе системы autodiff.
Содержание
Тензоры PyTorch
Тензоры не представляют собой чего-либо особенного, просто являясь многомерными массивами. Тензоры PyTorch (Tensors) похожи на массивы пакета NumPy, но дополнительно могут обрабатываться на видеоускорителях. PyTorch поддерживает различные типы тензоров.[15]
Модули
Модуль Autograd
PyTorch использует метод автоматической дифференциации. Производится запись вычислений, произведенных в прямом направлении, затем производится воспроизведение в обратном порядке для вычисления градиентов (backpropagation). Этот метод особенно полезен при построении нейронных сетей, так как позволяет рассчитывать дифференциальные поправки параметров одновременно с прямым проходом.
Модуль Optim
torch.optim — модуль, реализующий несколько алгоритмов оптимизации, используемых при построении нейронных сетей. Реализовано большинство наиболее часто используемых методов.
Модуль nn
Модуль PyTorch autograd позволяет легко определять вычислительные графы и работать с градиентами, однако может быть слишком низкоуровневой для определения сложных нейронных сетей. Более высокоуровневой абстракцией для таких применений является модуль nn .
Пример
Следующий код демонстрирует функциональность библиотеки на простом примере:[16][17]
import torch
dtype = torch.float
device = torch.device("cpu") # Выполнение всех вычислений на центральном процессоре
# device = torch.device("cuda:0") # Выполнение всех вычислений на графическом процессоре
# Создание тензора и заполнение тензора случайными числами
a = torch.randn(2, 3, device=device, dtype=dtype)
print(a) # Вывод тензора A
# Вывод: tensor([[-1.1884, 0.8498, -1.7129],
# [-0.8816, 0.1944, 0.5847]])
# Создание тензора и заполнение тензора случайными числами
b = torch.randn(2, 3, device=device, dtype=dtype)
print(b) # Вывод тензора B
# Вывод: tensor([[ 0.7178, -0.8453, -1.3403],
# [ 1.3262, 1.1512, -1.7070]])
print(a*b) # Вывод произведения двух тензоров
# Вывод: tensor([[-0.8530, -0.7183, 2.58],
# [-1.1692, 0.2238, -0.9981]])
print(a.sum()) # Вывод суммы всех элементов тензора A
# Вывод: tensor(-2.1540)
print(a[1,2]) # Вывод элемента в третьем столбце второй строки
# Вывод: tensor(0.5847)
print(a.min()) # Вывод минимального значения в тензоре A
# Вывод: tensor(-1.7129)
См. также
Примечания
- Release 2.8.0 — 2025.
- Yegulalp, Serdar (19 января 2017). Facebook brings GPU-powered machine learning to Python. InfoWorld. Архивировано 12 июля 2018. Дата обращения: 11 декабря 2017.
- Lorica, Ben. Why AI and machine learning researchers are beginning to embrace PyTorch (неопр.). O'Reilly Media (3 августа 2017). Дата обращения: 11 декабря 2017. Архивировано 17 мая 2019 года.
-
- Natural Language Processing (NLP) with PyTorch — NLP with PyTorch documentation (англ.). dl4nlp.info. Дата обращения: 18 декабря 2017. Архивировано 21 июня 2019 года.
-
-
- Arakelyan, Sophia. Tech giants are using open source frameworks to dominate the AI community (англ.). VentureBeat (29 ноября 2017). Дата обращения: 18 декабря 2017. Архивировано 30 марта 2019 года.
- PyTorch (англ.). pytorch.org. Дата обращения: 16 июня 2019. Архивировано из оригинала 31 августа 2019 года.
- fast.ai · Making neural nets uncool again (неопр.). www.fast.ai. Дата обращения: 16 июня 2019. Архивировано 16 июня 2019 года.
-
- A very simple framework for state-of-the-art Natural Language Processing (NLP): zalandoresearch/flair. — 2019-06-16. Архивировано 18 июня 2019 года.
- Reproducible and fast DL & RL. Contribute to catalyst-team/catalyst development by creating an account on GitHub. — 2019-11-25. Архивировано 22 декабря 2019 года.
- PyTorch – About (неопр.). pytorch.org. Дата обращения: 11 июня 2018. Архивировано из оригинала 15 июня 2018 года.
- An Introduction to PyTorch – A Simple yet Powerful Deep Learning Library (неопр.). analyticsvidhya.com. Дата обращения: 11 июня 2018. Архивировано 22 октября 2019 года.
- Jeremy Howard, Sylvain Gugger. Deep Learning for Coders with fastai and PyTorch. — O'Reilly, 2020. — ISBN 978-1492045526. Архивная копия от 8 октября 2021 на Wayback Machine Источник (неопр.). Дата обращения: 8 октября 2021. Архивировано 8 октября 2021 года.
- Caffe2 Merges With PyTorch (неопр.) (2 апреля 2018). Дата обращения: 8 октября 2021. Архивировано 30 марта 2019 года.
Литература
Ссылки
|
|