PyTorch vs Tensorflow Fold

26

Les deux PyTorch et tensorflow Fold sont des cadres d'apprentissage en profondeur destinés à faire face aux situations où les données d'entrée a une longueur non uniforme ou les dimensions (qui est, des situations où des graphiques dynamiques sont utiles ou nécessaires).

Je voudrais savoir comment ils se comparent, dans le sens des paradigmes sur lesquels ils s'appuient (par exemple le batching dynamique) et leurs implications, les choses qui peuvent / ne peuvent pas être implémentées dans chacun, les faiblesses / forces, etc.

J'ai l'intention d'utiliser ces informations pour en choisir une pour commencer à explorer les graphiques de calcul dynamique, mais je n'ai pas de tâche spécifique en tête.

Remarque 1: d'autres cadres de graphiques de calcul dynamiques comme DyNet ou Chainer sont également les bienvenus dans la comparaison, mais je voudrais me concentrer sur PyTorch et Tensorflow Fold parce que je pense qu'ils sont / seront les plus utilisés.

Note 2: J'ai trouvé ce fil hackernews sur PyTorch avec quelques informations clairsemées, mais pas beaucoup.

Remarque 3: Un autre thread hackernews pertinent , à propos de Tensorflow Fold, qui contient des informations sur la façon dont ils se comparent.

Note 4: thread Reddit pertinent .

Note 5: bogue pertinent dans le github de Tensorflow Fold qui identifie une limitation importante: impossibilité de faire un branchement conditionnel pendant l'évaluation.

Note 6: discussion sur le forum pytorch sur les entrées de longueur variable en relation avec les algorithmes utilisés (ex: batch dynamique).

ncasas
la source
Vous pouvez également ajouter cette discussion en cours (au moment d'écrire ce commentaire) par les contributeurs de pytorch à votre liste de références.
GuSuku
1
J'ai trouvé ce lien très intéressant et il se compare comme vous l'avez demandé (sur le graphique dynamique et l'utilisation de DyNet et Chainer) hackernoon.com/…
John Theo

Réponses:

9

Il y a quelques bons sujets sur Reddit en ce moment ( ici et ici ).

Je n'ai utilisé aucun de ces cadres, mais en lisant et en discutant avec les utilisateurs, je suppose que la prise en charge des graphiques dynamiques dans PyTorch est un «principe de conception descendant», tandis que TensorFlow Fold est boulonné au cadre Tensorflow d'origine, donc si vous faites quelque chose de raisonnablement compliqué avec Tensorflow Fold, vous allez probablement finir par faire beaucoup plus de piratage que si vous utilisez PyTorch .

christopherlovell
la source
3
C'était à peu près mon expérience en essayant d'utiliser Fold avec des convolutions sur des arbres au cours des derniers mois. Ce n'est pas encore assez mature pour gérer des choses comme ça. Ils suggèrent de "contourner" si vous regardez les problèmes fermés sur leur repo. Passer à PyTorch parce que Fold est si rigide - jeu de mots voulu.
Soubriquet