Wybór pomiędzy TensorFlow lub Theano jako backend dla Keras

20

Keras obsługuje zarówno TensorFlow i Theano jako backend: jakie są plusy / minusy wybierając jedną versus inne, oprócz faktu, że obecnie nie wszystkie operacje są realizowane przy backend TensorFlow?

Franck Dernoncourt
źródło
4
Wracając do tego. Myślę, że dzisiaj zmienię zdanie: D
Dawny33
@ Dawny33 dzięki Będę obserwować zaktualizowaną odpowiedź :-)
Franck Dernoncourt

Odpowiedzi:

9

Gdybym miał taką opcję, wybrałbym Theano .

Powody:

  • Najnowocześniejsze implementacje RNN i interfejsy API , których TensorFlow niestety nie posiada i ma przed sobą długą drogę . A w dziedzinie, w której RNN są popularnym trendem, Theano ma dużą przewagę.
  • Bardzo szeroki zakres wdrożeń . TensorFlow ma długą drogę do nadrobienia. Wiele najnowszych modeli ML zostało wykonanych przy pomocy Theano, więc jest to coś w rodzaju standardu, jeśli chodzi o sieci neuronowe.
  • Zoptymalizowane i ulepszone zapętlanie : skan Theano to wspaniały sposób na zapętlenie w sieciach neuronowych, który wykorzystuje niesamowitą platformę zmniejszania mapy. Ale jestem pewien, że TensorFlow poprawiłby to, ponieważ jego twórca Jeff Dean jest tatusiem Map Reduce. Jednak na razie; to Theano
  • Ogromna przewaga, jeśli chodzi o analitykę wideo.

Jednak TensorFlow obsługuje zarówno interfejsy cpp, jak i Python, co może być zaletą w społeczności cpp. Ale jeśli chodzi o ML i produkty do nauki danych, Python był standardem, więc nie byłby to ogromna przewaga IMO.

Ale wdrożenie modelu i łatwość użycia w produkcji to ta, w której TensorFlow ma prawdziwą przewagę. Ponieważ używa Eigen do ulepszonego i łatwego wdrożenia, byłby ulubiony dla inżynierów. Jeśli będzie kompatybilny z Windows, zobaczysz ogromną migrację. Ale przyzwyczaiłem się do narzutów w Pythonie, mogę poczekać, aż będzie bardziej dopracowany.

Na razie Theano. Mogę z radością czekać, aż TensorFlow dogoni.

Jeśli wdrażasz sieci neuronowe o prostej i średniej złożoności, skorzystaj z Tensorflow. Jeśli głębokie uczenie, to Theano.

Dawny33
źródło
1
Biorąc pod uwagę ulepszenia TensorFlow w ciągu ostatnich 1,5 roku, czy masz teraz inne zdanie?
Seanny123
1
@ Seanny123 Na pewno tak. Nie miałem czasu na odkładanie tego jako odpowiedź: D. Niedługo napiszę :). [Niepowiązany PS: Kasa Pytorch też]
Dawny33
8

W dniu 28.09.2017 ogłoszono, że Theano zostanie wycofane:

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

Po prawie dziesięciu latach rozwoju z przykrością ogłaszamy, że zakończymy rozwój Theano po wydaniu 1.0, który ma się ukazać w ciągu najbliższych kilku tygodni. Będziemy kontynuować minimalną konserwację, aby działała przez rok, ale przestaniemy aktywnie wdrażać nowe funkcje. Theano będzie nadal dostępne, zgodnie z naszym zaangażowaniem w oprogramowanie typu open source, ale MILA nie zobowiązuje się do poświęcania czasu na konserwację lub wsparcie po tym czasie.

Więc TensorFlow jest lepszą opcją.

Franck Dernoncourt
źródło