PyTorch - Введение

PyTorch определяется как библиотека машинного обучения с открытым исходным кодом для Python. Он используется для таких приложений, как обработка естественного языка. Первоначально он был разработан исследовательской группой по искусственному интеллекту Facebook и программным обеспечением Uber Pyro для вероятностного программирования, которое основано на нем.

Первоначально PyTorch был разработан Хью Перкинсом как оболочка Python для LusJIT на основе инфраструктуры Torch. Есть два варианта PyTorch.

PyTorch модернизирует и реализует Torch в Python, используя те же основные библиотеки C для внутреннего кода. Разработчики PyTorch настроили этот внутренний код для эффективного запуска Python. Они также сохранили аппаратное ускорение на основе графического процессора, а также функции расширяемости, которые сделали Torch на основе Lua.

Особенности

Основные особенности PyTorch упомянуты ниже -

Easy Interface- PyTorch предлагает простой в использовании API; следовательно, он считается очень простым в эксплуатации и работает на Python. Выполнение кода в этой среде довольно просто.

Python usage- Эта библиотека считается Pythonic, которая плавно интегрируется со стеком науки о данных Python. Таким образом, он может использовать все услуги и функции, предлагаемые средой Python.

Computational graphs- PyTorch предоставляет отличную платформу, которая предлагает динамические вычислительные графики. Таким образом, пользователь может изменять их во время выполнения. Это очень полезно, когда разработчик не знает, сколько памяти требуется для создания модели нейронной сети.

PyTorch известен тем, что имеет три уровня абстракции, как показано ниже -

  • Тензор - императивный n-мерный массив, работающий на GPU.

  • Переменная - узел в вычислительном графе. Здесь хранятся данные и градиент.

  • Модуль - уровень нейронной сети, который будет хранить состояния или обучаемые веса.

Преимущества PyTorch

Ниже приведены преимущества PyTorch:

  • Код легко отлаживать и понимать.

  • Он включает в себя множество слоев, таких как Torch.

  • Он включает в себя множество функций потерь.

  • Это можно рассматривать как расширение NumPy для графических процессоров.

  • Это позволяет строить сети, структура которых зависит от самих вычислений.

TensorFlow против PyTorch

Мы рассмотрим основные различия между TensorFlow и PyTorch ниже -

PyTorch TensorFlow

PyTorch тесно связан с фреймворком Torch на основе lua, который активно используется в Facebook.

TensorFlow разработан Google Brain и активно используется в Google.

PyTorch относительно новый по сравнению с другими конкурентными технологиями.

TensorFlow не новинка, и многие исследователи и профессионалы отрасли считают ее полезным инструментом.

PyTorch включает все в императивном и динамическом стиле.

TensorFlow включает в себя статические и динамические графики в виде комбинации.

График вычислений в PyTorch определяется во время выполнения.

TensorFlow не включает никаких параметров времени выполнения.

PyTorch включает развертывание для мобильных и встроенных фреймворков.

TensorFlow лучше работает со встроенными фреймворками.