Wahl zwischen TensorFlow oder Theano als Backend für Keras

20

Keras unterstützt sowohl TensorFlow als auch Theano als Backend: Was sind die Vor- und Nachteile einer Auswahl im Vergleich zur anderen, abgesehen von der Tatsache, dass derzeit nicht alle Operationen mit dem TensorFlow-Backend implementiert sind?

Franck Dernoncourt
quelle
4
Ich komme darauf zurück. Ich denke, ich werde meine Meinung heute ändern: D
Dawny33
@ Dawny33 danke ich werde auf die aktualisierte Antwort
achten

Antworten:

9

Wenn ich die Option hätte, würde ich mit Theano gehen .

Gründe dafür:

  • Hochmoderne RNN-Implementierungen und APIs , die TensorFlow leider nicht besitzt, und die noch einen langen Weg vor sich haben . Und in einer Domäne, in der RNNs der Trend sind, hat Theano einen großen Vorteil.
  • Sehr breites Spektrum an Implementierungen . TensorFlow hat einen langen Weg aufzuholen. Viele der jüngsten ML-Modelle wurden mit Hilfe von Theano erstellt, so dass es sich bei neuronalen Netzen um einen Standard handelt.
  • Optimiertes und verbessertes Looping : Der Scan von Theano ist eine wundervolle Methode zum Looping in neuronalen Netzwerken, die das großartige Map-Reduction-Framework nutzt. Aber ich bin mir ziemlich sicher, dass TensorFlow dies verbessern würde, da sein Schöpfer Jeff Dean der Vater von Map Reduce ist. Ab sofort jedoch; Es ist Theano
  • Ein Riesenvorsprung bei der Videoanalyse.

TensorFlow unterstützt jedoch sowohl die cpp- als auch die Python-Schnittstelle, was für die cpp-Community von Vorteil sein kann. Aber wenn es um ML- und Data-Science-Produkte geht, war Python der Standard, daher wäre es kein großer Vorteil für IMO.

Bei der Modellbereitstellung und der einfachen Verwendung in der Produktion hat TensorFlow jedoch den echten Vorteil. Da es Eigen für eine verbesserte und einfache Bereitstellung verwendet, wäre es ein Schatz für Ingenieure. Wenn es mit Windows kompatibel wird, sehen Sie eine große Migration. Aber ich habe mich an den Python-Overhead gewöhnt, ich kann warten, bis er besser wird.

Also, Theano für jetzt. Ich kann es kaum erwarten, dass TensorFlow aufholt.

Wenn Sie neuronale Netzwerke mit einfacher bis mittlerer Komplexität bereitstellen, entscheiden Sie sich für Tensorflow. Wenn tiefes Lernen, dann Theano.

Dawny33
quelle
1
Haben Sie angesichts der Verbesserungen von TensorFlow in den letzten 1,5 Jahren eine andere Meinung?
Seanny123
1
@ Seanny123 das tue ich sicher. Bekam nicht die Zeit, es als Antwort niederzulegen: D. Werde irgendwann mal aufschreiben :). [PS: Checkout auch Pytorch]
Dawny33
8

Es wurde am 28.09.2017 bekannt gegeben, dass Theano eingestellt wird:

Von https://groups.google.com/forum/#!topic/theano-users/7Poq8BZutbY (Yoshua Bengio):

Nach fast zehnjähriger Entwicklungszeit müssen wir leider mitteilen, dass wir unsere Theano-Entwicklung nach dem Release 1.0, das in den nächsten Wochen erscheinen wird, einstellen werden. Wir werden die minimale Wartung fortsetzen, damit sie ein Jahr lang funktioniert, aber wir werden aufhören, neue Funktionen aktiv zu implementieren. Theano wird nach unserem Engagement für Open Source-Software weiterhin verfügbar sein, aber MILA verpflichtet sich nicht, nach diesem Zeitraum Zeit für Wartung oder Support aufzuwenden.

TensorFlow ist also eine bessere Option.

Franck Dernoncourt
quelle