Автор: Сай Радж Редди

Корни

TensorFlow был впервые построен и разработан командой Google Brain.
Истоки PyTorch восходят к октябрю 2002 года, когда он запустил научную вычислительную библиотеку под названием Torch, которая в конечном итоге превратилась в библиотеку машинного обучения.

Различия

В этом разделе мы поговорим о различиях между фреймворками на основе некоторых общих показателей.

1. Документация

Обе платформы хорошо документированы и готовы к профессиональному использованию. Тем не менее, я привык к документации TF, и мне немного сложно использовать документацию PyTorch, поскольку описание функций ограничено одной страницей для каждой.

Оба они предоставляют отличные обучающие примеры для начала, однако функции удобства использования в PyTorch нуждаются в небольшом улучшении.

2. Особенности графика

В TF нам нужно создать объекты Session и Placeholder, помогающие запускать определенные тензоры. В PyTorch нет необходимости создавать такие объекты сеанса.

Оба основаны на DAG (Directed Acyclic Graph), но внутренний график, работающий в PyTorch, учитывается при вызове функции forward (), и она отлично работает для моделей RNN, поскольку это создание динамического графа. Он называется динамическим вычислительным графом (DCG).

Поддержка визуализации Graphs предлагается TF, и это здорово (Tensorboards). PyTorch пока не может похвастаться этой функцией.

3. Возможности отладки

Самый безопасный способ отладки - это напечатать операторы :-D. Хотя печать на консоль того стоит, некоторые встроенные инструменты отладки отлично справляются с работой в обеих средах. Такие популярные инструменты, как PDB, можно использовать так же, как и любой другой код Python. Также есть отладчик TF под названием TFDBG, хотя он немного неуклюжий. Использование визуальных функций тензорных плат TF - лучший способ отладки в TF.

Наконец, графическая модель TF демонстрирует статическое поведение, отладка в TF сложна по сравнению с PyTorch.

4. Совместимость

TF и PyTorch поддерживают языки, отличные от Python - CUDA, C ++ и C. Необходимо выделить дополнительные строки кода в TensorFlow, PyTorch предназначен для написания кода интерфейса между версиями CPU и GPU. Компиляция довольно проста и проста, не требует ссылок через заголовки, что является преимуществом и способствует более простому способу написания кода.

Вывод

TensorFlow выделяется функцией Tensorboards Viz.
PyTorch отличается простотой структуры и минимумом кода. Все благодаря Python!

Источники обучения для TensorFlow в изобилии доступны, и ожидается, что сеть будет расти в PyTorch.

Если вы новичок в ML, попробуйте PyTorch и попробуйте TensorFlow. :)

Освойте алгоритмы Tensorflow в программе Deep Learning Nanodegree от Udacity.

Об авторе | Сай Радж Редди

Ученик на протяжении всей жизни. Любит рассказывать о технических впечатлениях. Стремящийся евангелист EdTech.

Следуйте за ним на Medium