Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

PyTorch является открытым исходным кодом машинного обучения библиотеки на основе Факела библиотеке, [3] [4] [5] используются для таких приложений, как компьютерное зрение и обработки естественного языка , [6] , прежде всего , разработанного Facebook AI Research Lab «s (FAIR) . [7] [8] [9] Это бесплатное программное обеспечение с открытым исходным кодом, выпущенное по модифицированной лицензии BSD . Хотя интерфейс Python более совершенен и является основным направлением разработки, PyTorch также имеет интерфейс C ++ .[10]

На основе PyTorch построен ряд программ для глубокого обучения , в том числе Tesla Autopilot , [11] Uber 's Pyro, [12] HuggingFace's Transformers, [13] PyTorch Lightning , [14] [15] и Catalyst. [16] [17]

PyTorch предоставляет две высокоуровневые функции: [18]

  • Тензорные вычисления (например, NumPy ) с сильным ускорением с помощью графических процессоров (GPU)
  • Глубокие нейронные сети, построенные на ленточной системе автоматического дифференцирования

История [ править ]

Facebook использует как PyTorch, так и сверточную архитектуру для быстрого встраивания функций ( Caffe2 ), но модели, определенные этими двумя фреймворками, были взаимно несовместимы. Проект Open Neural Network Exchange ( ONNX ) был создан Facebook и Microsoft в сентябре 2017 года для преобразования моделей между фреймворками. Caffe2 был объединен с PyTorch в конце марта 2018 г. [19]

Тензоры PyTorch [ править ]

PyTorch определяет класс под названием Tensor ( torch.Tensor) для хранения и работы с однородными многомерными прямоугольными массивами чисел. PyTorch тензоры подобны NumPy Массивы, но может также устанавливаться на CUDA сигнала управления на Nvidia GPU. PyTorch поддерживает различные подтипы тензоров. [20]

Модули [ править ]

Модуль Autograd [ править ]

PyTorch использует метод, называемый автоматическим дифференцированием . Регистратор записывает, какие операции были выполнены, а затем воспроизводит их в обратном порядке для вычисления градиентов. Этот метод особенно эффективен при построении нейронных сетей для экономии времени в одну эпоху за счет вычисления дифференцирования параметров на прямом проходе.

Optimмодуль [ править ]

torch.optim- это модуль, реализующий различные алгоритмы оптимизации, используемые для построения нейронных сетей. Большинство часто используемых методов уже поддерживаются, поэтому нет необходимости создавать их с нуля.

nnмодуль [ править ]

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

См. Также [ править ]

  • Сравнение программного обеспечения для глубокого обучения
  • Дифференцируемое программирование
  • DeepSpeed
  • Факел (машинное обучение)
  • Тензор

Ссылки [ править ]

  1. ^ Чинтала, Soumith (1 сентября 2016). «Релиз PyTorch Alpha-1» .
  2. ^ «Версия PyTorch 1.8, включая обновления компилятора и распределенного обучения, новые учебные пособия для мобильных устройств и многое другое» . 4 марта 2021 . Проверено 6 марта 2021 года .
  3. ^ Yegulalp, Сердар (19 января 2017). «Facebook привносит машинное обучение на GPU в Python» . InfoWorld . Проверено 11 декабря 2017 года .
  4. ^ Lorica, Бен (3 августа 2017). «Почему исследователи ИИ и машинного обучения начинают использовать PyTorch» . O'Reilly Media . Проверено 11 декабря 2017 года .
  5. ^ Ketkar, Нихилу (2017). «Введение в PyTorch». Глубокое обучение с помощью Python . Апресс, Беркли, Калифорния. С. 195–208. DOI : 10.1007 / 978-1-4842-2766-4_12 . ISBN 9781484227657.
  6. ^ «Обработка естественного языка (NLP) с PyTorch - NLP с документацией PyTorch» . dl4nlp.info . Проверено 18 декабря 2017 .
  7. ^ Пател, Мо (2017-12-07). «Когда сливаются две тенденции: PyTorch и рекомендательные системы» . O'Reilly Media . Проверено 18 декабря 2017 .
  8. ^ Маннес, Джон. «Facebook и Microsoft сотрудничают, чтобы упростить преобразование PyTorch в Caffe2» . TechCrunch . Проверено 18 декабря 2017 . FAIR привык работать с PyTorch - фреймворком глубокого обучения, оптимизированным для достижения современных результатов в исследованиях, независимо от ограничений ресурсов. К сожалению, в реальном мире большинство из нас ограничены вычислительными возможностями наших смартфонов и компьютеров.
  9. ^ Аракелян, София (2017-11-29). «Технические гиганты используют фреймворки с открытым исходным кодом, чтобы доминировать в сообществе ИИ» . VentureBeat . Проверено 18 декабря 2017 .
  10. ^ "Интерфейс C ++" . Основная документация PyTorch . Проверено 29 июля 2019 .
  11. ^ Karpathy, Андрей. «PyTorch в Tesla - Андрей Карпати, Tesla» .
  12. ^ "Uber AI Labs Open Sources Pyro, глубокий вероятностный язык программирования" . Блог инженеров Uber . 2017-11-03 . Проверено 18 декабря 2017 .
  13. ^ PYTORCH-TRANSFORMERS: реализации в PyTorch популярных трансформаторов NLP , PyTorch Hub, 01.12.2019 , получено 01.12.2019
  14. ^ PYTORCH-Lightning: легкая оболочка PyTorch для исследователей машинного обучения. Масштабируйте свои модели. Пишите меньше шаблонов , Lightning-Team, 18.06.2020 , получено 18.06.2020
  15. ^ «Экосистемные инструменты» . pytorch.org . Проверено 18 июня 2020 .
  16. ^ GitHub - Catalyst-team / Catalyst : Accelerated DL & RL , Catalyst-Team, 05.12.2019 , получено 05.12.2019
  17. ^ «Экосистемные инструменты» . pytorch.org . Проверено 4 апреля 2020 .
  18. ^ "PyTorch - О" . pytorch.org . Архивировано из оригинала на 2018-06-15 . Проверено 11 июня 2018 .
  19. ^ «Caffe2 сливается с PyTorch» . 2018-04-02.
  20. ^ «Введение в PyTorch - простую, но мощную библиотеку глубокого обучения» . analyticsvidhya.com . 2018-02-22 . Проверено 11 июня 2018 .

Внешние ссылки [ править ]

  • Официальный веб-сайт