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