Автор: Сай Радж Редди
Корни
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