PyTorch vs. Tensorflow eifrig

14

Google hat kürzlich in tensorflow's Nightly Builds den Eager- Modus aufgenommen, eine unverzichtbare API für den Zugriff auf Tensorflow-Berechnungsfunktionen.

Wie kann Tensorflow eifrig mit PyTorch verglichen werden?

Einige Aspekte, die den Vergleich beeinflussen könnten, könnten sein:

  • Vor- und Nachteile von eager aufgrund seines statischen Graph-Erbes (z. B. Namen in Knoten).
  • Eigenbeschränkungen von einem von ihnen, die der andere nicht hat.
  • Bereiche, in denen einer verbessert werden muss (z. B. Funktionsumfang, rechnerische Optimierungen).
  • Ökosystemunterschiede (zB Tensorboard?).

Anmerkung 1: Jaroslaw Bulatow schrieb eine Rezension über die netten Eigenschaften von eager .

Hinweis 2: In einer früheren Frage habe ich einen Vergleich zwischen PyTorch und Tensorflow Fold angefordert. Zu dieser Zeit schien es mir, dass Fold PyTorch gegenüberstehen könnte, dank der Unterstützung durch Google. Ich habe mich sehr geirrt: Am Ende hat Google Fold zugunsten von Eager aufgegeben . Ich verstehe, dass dies auf intrinsische Einschränkungen in der normalen Tensorflow-API zurückzuführen war, die dazu führten, dass Fold nicht sehr freundlich war, was seine Annahme einschränkte.

ncasas
quelle
2
Für mich ist der größte Unterschied, dass die Pytorch-Codebasis viel einfacher zu lesen und zu verstehen ist. Wenn ich spezielle Fragen zur Implementierung habe, ist es einfach, direkt einzutauchen. Ich habe absolut keine Ahnung, was Tensorflow unter der Haube tut.
Louis T

Antworten:

1

Einer der Hauptvorteile, den ich häufig benutze, ist der, der mit pdb kompatibel ist

pdb.set_trace # To the rescue

Ermöglicht die Verwendung von Python-Datenstrukturen

und lassen Sie uns den pythonischen Kontrollfluss verwenden, anstatt die wichtigsten tf-Äquivalente zu verwenden.

Außerdem können so Metaprogrammierungsprobleme wie "Lazy Loading" und das Hinzufügen einer Reihe von Operationen zu meinem Diagramm vermieden werden. Auch autograd Ähnlichkeiten

David Cardozo
quelle
1
Beziehen Sie sich auf Pytorch oder tf eifrig? Es scheint mir, dass Ihre Aussagen auf beide zutreffen ...
ncasas