PyTorch - PyTorch
Оригинальный автор (ы) |
|
---|---|
Разработчики) | Facebook Лаборатория искусственного интеллекта (FAIR) |
изначальный выпуск | Сентябрь 2016[1] |
Стабильный выпуск | 1.7.0[2] / 27 октября 2020 |
Репозиторий | github |
Написано в | |
Операционная система | |
Платформа | IA-32, x86-64 |
Доступно в | английский |
Тип | Библиотека за машинное обучение и глубокое обучение |
Лицензия | BSD |
Интернет сайт | питатель |
PyTorch является Открытый исходный код машинное обучение библиотека на основе Факел библиотека,[3][4][5] используется для таких приложений, как компьютерное зрение и обработка естественного языка,[6] в первую очередь разработан Facebook Лаборатория искусственного интеллекта (FAIR).[7][8][9] это бесплатное программное обеспечение с открытым исходным кодом выпущен под Модифицированная лицензия BSD. Хотя Python интерфейс более отполирован и является основным направлением разработки, PyTorch также имеет C ++ интерфейс.[10]
Ряд штук Глубокое обучение программное обеспечение построено на основе PyTorch, включая Автопилот Tesla[11], Убер поджигатель,[12] Трансформеры HuggingFace,[13] PyTorch Lightning[14][15], и Catalyst.[16][17]
PyTorch предоставляет две высокоуровневые функции:[18]
- Тензорные вычисления (например, NumPy ) с сильным ускорением через графические процессоры (GPU)
- Глубокие нейронные сети построен на ленточной основе автоматическая дифференциация система
История
Facebook управляет как PyTorch и Сверточная архитектура для быстрого встраивания функций (Caffe2 ), но модели, определенные двумя структурами, были несовместимы. Открытая нейронная сеть обмена (ONNX ) был создан Facebook и Microsoft в сентябре 2017 года для конвертации моделей между фреймворками. Caffe2 был объединен с PyTorch в конце марта 2018 года.[19]
Тензоры PyTorch
PyTorch определяет класс под названием Tensor (torch.Tensor
) для хранения однородных многомерных прямоугольных массивов чисел и работы с ними. Тензоры PyTorch похожи на NumPy Массивы, но также могут работать с CUDA -способный Nvidia GPU. PyTorch поддерживает различные подтипы тензоров.[20]
Модули
Модуль автоград
PyTorch использует метод под названием автоматическая дифференциация. Регистратор записывает, какие операции были выполнены, а затем воспроизводит их в обратном порядке для вычисления градиентов. Этот метод особенно эффективен при построении нейронных сетей для экономии времени в одну эпоху за счет вычисления дифференцирования параметров на прямом проходе.
Оптим
модуль
torch.optim
- это модуль, реализующий различные алгоритмы оптимизации, используемые для построения нейронных сетей. Большинство часто используемых методов уже поддерживаются, поэтому нет необходимости создавать их с нуля.
nn
модуль
PyTorch autograd позволяет легко определять вычислительные графы и принимать градиенты, но исходный autograd может быть слишком низкоуровневым для определения сложных нейронных сетей. Вот где nn
модуль может помочь.
Смотрите также
- Сравнение программного обеспечения для глубокого обучения
- Дифференцируемое программирование
- DeepSpeed
- Факел (машинное обучение)
- Тензор
Рекомендации
- ^ Чинтала, Сумит (1 сентября 2016 г.). «Релиз PyTorch Alpha-1».
- ^ «Релиз 1.7.0». 27 Октябрь 2020. Получено 28 октября 2020.
- ^ Егулалп, Сердар (19 января 2017 г.). «Facebook привносит машинное обучение на GPU в Python». InfoWorld. Получено 11 декабря 2017.
- ^ Лорика, Бен (3 августа 2017 г.). «Почему исследователи ИИ и машинного обучения начинают использовать PyTorch». O'Reilly Media. Получено 11 декабря 2017.
- ^ Кеткар, Нихил (2017). «Введение в PyTorch». Глубокое обучение с помощью Python. Апресс, Беркли, Калифорния. С. 195–208. Дои:10.1007/978-1-4842-2766-4_12. ISBN 9781484227657.
- ^ «Обработка естественного языка (NLP) с PyTorch - NLP с документацией PyTorch». dl4nlp.info. Получено 2017-12-18.
- ^ Патель, Мо (07.12.2017). «Когда сливаются две тенденции: PyTorch и рекомендательные системы». O'Reilly Media. Получено 2017-12-18.
- ^ Манн, Джон. «Facebook и Microsoft сотрудничают, чтобы упростить преобразование PyTorch в Caffe2». TechCrunch. Получено 2017-12-18.
FAIR привык работать с PyTorch - фреймворком глубокого обучения, оптимизированным для достижения самых современных результатов в исследованиях, независимо от ограничений ресурсов. К сожалению, в реальном мире большинство из нас ограничено вычислительными возможностями наших смартфонов и компьютеров.
- ^ Аракелян, София (29.11.2017). «Технологические гиганты используют фреймворки с открытым исходным кодом, чтобы доминировать в сообществе ИИ». VentureBeat. Получено 2017-12-18.
- ^ "Интерфейс C ++". Основная документация PyTorch. Получено 2019-07-29.
- ^ Карпаты, Андрей. "PyTorch в Tesla - Андрей Карпати, Tesla".
- ^ "Uber AI Labs Open Sources Pyro, глубокий вероятностный язык программирования". Блог инженеров Uber. 2017-11-03. Получено 2017-12-18.
- ^ PYTORCH-TRANSFORMERS: реализации в PyTorch популярных NLP-трансформеров., PyTorch Hub, 01.12.2019, получено 2019-12-01
- ^ PYTORCH-Lightning: легкая оболочка PyTorch для исследователей машинного обучения. Масштабируйте свои модели. Пишите меньше шаблонов, Lightning-Team, 2020-06-18, получено 2020-06-18
- ^ «Экосистемные инструменты». pytorch.org. Получено 2020-06-18.
- ^ GitHub - команда-катализатор / катализатор: ускоренный DL и RL, Catalyst-Team, 05.12.2019, получено 2019-12-05
- ^ «Экосистемные инструменты». pytorch.org. Получено 2020-04-04.
- ^ «PyTorch - О компании». pytorch.org. Архивировано из оригинал на 2018-06-15. Получено 2018-06-11.
- ^ "Caffe2 сливается с PyTorch". 2018-04-02.
- ^ «Введение в PyTorch - простую, но мощную библиотеку глубокого обучения». analyticsvidhya.com. 2018-02-22. Получено 2018-06-11.