Как PyTorch, так и Tensorflow Fold являются средами глубокого обучения, предназначенными для работы в ситуациях, когда входные данные имеют неодинаковую длину или измерения (то есть ситуации, когда динамические графики полезны или необходимы).
Я хотел бы знать, как они сравниваются, в смысле парадигм, на которые они полагаются (например, динамическое пакетирование), и их последствий, вещей, которые можно / нельзя реализовать в каждом из них, слабых сторон / сильных сторон и т. Д.
Я намереваюсь использовать эту информацию, чтобы выбрать один из них, чтобы начать исследовать динамические графы вычислений, но у меня нет конкретной задачи в виду.
Примечание 1: другие структуры динамических вычислительных графов, такие как DyNet или Chainer , также приветствуются при сравнении, но я бы хотел сосредоточиться на PyTorch и Tensorflow Fold, потому что я думаю, что они будут / будут наиболее часто используемыми.
Примечание 2: я нашел эту ветку hackernews на PyTorch с немногочисленной информацией, но немного.
Примечание 3: Еще одна важная ветка hackernews о Tensorflow Fold, которая содержит некоторую информацию о том, как они сравниваются.
Примечание 4: соответствующая тема Reddit .
Примечание 5: соответствующая ошибка в github Tensorflow Fold, которая идентифицирует важное ограничение: невозможность условного ветвления во время оценки.
Примечание 6: обсуждение на форуме Pytorch информации о входных данных переменной длины относительно используемых алгоритмов (например, динамического пакетирования).
источник
Ответы:
Сейчас на Reddit есть пара хороших тем ( здесь и здесь ).
Я не использовал ни одну из этих платформ, но, прочитав и поговорив с пользователями, я понял, что поддержка динамических графиков в PyTorch - это «принцип проектирования сверху вниз», тогда как TensorFlow Fold прикручен к исходной платформе Tensorflow, так что если вы делаете что-то достаточно сложное с Tensorflow Fold, и вы, вероятно, в итоге будете делать гораздо больше взлома, чем если бы вы использовали PyTorch .
источник