PyTorch

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Kaicarver (обсуждение | вклад) в 09:38, 5 октября 2020 (→‎Преамбула: исправил небольшую опечатку). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
PyTorch
Логотип программы PyTorch
Тип Библиотека машинного обучения и глубинного обучения
Авторы Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan
Написана на Python, C++, CUDA
Операционные системы Linux, macOS, Windows
Первый выпуск октябрь 2016
Последняя версия
Репозиторий github.com/pytorch/pytor…
Лицензия BSD
Сайт pytorch.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

PyTorch — фреймворк машинного обучения для языка Python с открытым исходным кодом, созданная на базе Torch[2][3][4]. Используется для решения различных задач: компьютерное зрение, обработка естественного языка.[5] Разрабатывается преимущественно группой искусственного интеллекта Facebook[6][7][8]. Также вокруг этого фреймворка выстроена экосистема[9], состоящая из различных библиотек, разрабатываемых сторонними командами: 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 использует метод автоматической дифференциации. Производится запись вычислений, произведенных в прямом направлении, затем производится воспроизведение в обратном порядке для вычисления градиентов. Этот метод особенно полезен при построении нейронных сетей, так как позволяет рассчитывать дифференциальные поправки параметров одновременно с прямым проходом.

Модуль Optim

torch.optim — модуль, реализующий несколько алгоритмов оптимизации, используемых при построении нейронных сетей. Реализовано большинство наиболее часто используемых методов.

Модуль nn

Модуль PyTorch autograd позволяет легко определять вычислительные графы и работать с градиентами, однако может быть слишком низким уровнем для определения сложных нейронных сетей. Более высокоуровневой абстракцией для таких применений является модуль nn.

См. также

Примечания

  1. Release 2.3.0 — 2024.
  2. Yegulalp, Serdar (2017-01-19). "Facebook brings GPU-powered machine learning to Python". InfoWorld. Дата обращения: 11 декабря 2017.
  3. Lorica, Ben Why AI and machine learning researchers are beginning to embrace PyTorch. O'Reilly Media (3 августа 2017). Дата обращения: 11 декабря 2017.
  4. Ketkar, Nikhil. Deep Learning with Python (англ.). — Apress, Berkeley, CA, 2017. — P. 195—208. — ISBN 9781484227657. — doi:10.1007/978-1-4842-2766-4_12.
  5. Natural Language Processing (NLP) with PyTorch — NLP with PyTorch documentation (англ.). dl4nlp.info. Дата обращения: 18 декабря 2017.
  6. Patel, Mo (2017-12-07). "When two trends fuse: PyTorch and recommender systems". O'Reilly Media (англ.). Дата обращения: 18 декабря 2017.
  7. 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. {{cite news}}: Шаблон цитирования имеет пустые неизвестные параметры: |dead-url= (справка)
  8. Arakelyan, Sophia Tech giants are using open source frameworks to dominate the AI community (англ.). VentureBeat (29 ноября 2017). Дата обращения: 18 декабря 2017.
  9. PyTorch (англ.). www.pytorch.org. Дата обращения: 16 июня 2019. Архивировано из оригинала 31 августа 2019 года.
  10. fast.ai · Making neural nets uncool again. www.fast.ai. Дата обращения: 16 июня 2019.
  11. "Uber AI Labs Open Sources Pyro, a Deep Probabilistic Programming Language". Uber Engineering Blog (англ.). 2017-11-03. Дата обращения: 18 декабря 2017.
  12. A very simple framework for state-of-the-art Natural Language Processing (NLP): zalandoresearch/flair. — 2019-06-16.
  13. Reproducible and fast DL & RL. Contribute to catalyst-team/catalyst development by creating an account on GitHub. — 2019-11-25.
  14. PyTorch – About. pytorch.org. Дата обращения: 11 июня 2018. Архивировано из оригинала 15 июня 2018 года.
  15. An Introduction to PyTorch – A Simple yet Powerful Deep Learning Library. analyticsvidhya.com. Дата обращения: 11 июня 2018.

Литература

  • Макмахан Б., Рао Д. Знакомство с PyTorch: глубокое обучение при обработке естественного языка = Natural Language Processing with PyTorch. Build Intelligent Language Applications Using Deep Learning. — Питер, 2020. — 256 с. — ISBN 978-5-4461-1241-8.

Ссылки