PyTorch против Tensorflow Fold

26

Как PyTorch, так и Tensorflow Fold являются средами глубокого обучения, предназначенными для работы в ситуациях, когда входные данные имеют неодинаковую длину или измерения (то есть ситуации, когда динамические графики полезны или необходимы).

Я хотел бы знать, как они сравниваются, в смысле парадигм, на которые они полагаются (например, динамическое пакетирование), и их последствий, вещей, которые можно / нельзя реализовать в каждом из них, слабых сторон / сильных сторон и т. Д.

Я намереваюсь использовать эту информацию, чтобы выбрать один из них, чтобы начать исследовать динамические графы вычислений, но у меня нет конкретной задачи в виду.

Примечание 1: другие структуры динамических вычислительных графов, такие как DyNet или Chainer , также приветствуются при сравнении, но я бы хотел сосредоточиться на PyTorch и Tensorflow Fold, потому что я думаю, что они будут / будут наиболее часто используемыми.

Примечание 2: я нашел эту ветку hackernews на PyTorch с немногочисленной информацией, но немного.

Примечание 3: Еще одна важная ветка hackernews о Tensorflow Fold, которая содержит некоторую информацию о том, как они сравниваются.

Примечание 4: соответствующая тема Reddit .

Примечание 5: соответствующая ошибка в github Tensorflow Fold, которая идентифицирует важное ограничение: невозможность условного ветвления во время оценки.

Примечание 6: обсуждение на форуме Pytorch информации о входных данных переменной длины относительно используемых алгоритмов (например, динамического пакетирования).

ncasas
источник
Вы также можете добавить это продолжающееся (на момент написания этого комментария) обсуждение авторов pytorch в свой список литературы.
GuSuku
1
Я нашел эту ссылку очень интересной, и она сравнивается, как вы и просили (о динамическом графике и использовании DyNet и Chainer) hackernoon.com/…
Джон Тео

Ответы:

9

Сейчас на Reddit есть пара хороших тем ( здесь и здесь ).

Я не использовал ни одну из этих платформ, но, прочитав и поговорив с пользователями, я понял, что поддержка динамических графиков в PyTorch - это «принцип проектирования сверху вниз», тогда как TensorFlow Fold прикручен к исходной платформе Tensorflow, так что если вы делаете что-то достаточно сложное с Tensorflow Fold, и вы, вероятно, в итоге будете делать гораздо больше взлома, чем если бы вы использовали PyTorch .

christopherlovell
источник
3
Это был мой опыт использования Fold со свертками над деревьями за последние несколько месяцев. Он еще не достаточно зрелый, чтобы справляться с такими вещами. Они предлагают "обходные пути", если вы посмотрите на закрытые вопросы по их репо. Переход на PyTorch, потому что Fold такой негибкий - каламбур.
Субрике