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.
quelle
Antworten:
Einer der Hauptvorteile, den ich häufig benutze, ist der, der mit pdb kompatibel ist
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
quelle