Pregunta

Keras apoya a ambos Flujo tensor y Eano Como backend: ¿Cuáles son los pros/contras de elegir uno versus el otro, además del hecho de que actualmente no todas las operaciones se implementan con el backend de TensorFlow?

¿Fue útil?

Solución 2

Se anunció el 2017-09-28 que theano será descontinuado:

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

Después de casi diez años de desarrollo, lamentamos anunciar que pondremos fin a nuestro desarrollo de Theano después del lanzamiento 1.0, que se debe en las próximas semanas. Continuaremos un mantenimiento mínimo para mantenerlo funcionando durante un año, pero dejaremos de implementar activamente nuevas características. Theo continuará estando disponible después, según nuestro compromiso con el software de código abierto, pero Mila no se compromete a pasar tiempo en mantenimiento o soporte después de ese período de tiempo.

Entonces TensorFlow es una mejor opción.

Otros consejos

Si me dieran la opción, Yo iría con theano.

Razones:

  • Implementaciones de RNN de última generación y API, que tensorflow desafortunadamente no posee, y tiene un largo camino por recorrer. Y en un dominio donde los RNN son la rabia de tendencia, Thano tiene una gran ventaja allí.
  • Muy amplia gama de implementaciones. Tensorflow tiene un largo camino de ponerse al día. Se han realizado muchos modelos de ML recientes con la ayuda de Theo, por lo que es algo así como un estándar cuando se trata de redes neuronales.
  • Optimizado y bucle mejorado: El escaneo de Thano es una forma maravillosa para el bucle en las redes neuronales, que utiliza el impresionante marco Map-Reduce. Pero, estoy bastante seguro de que TensorFlow mejoraría esto, ya que su creador Jeff Dean es el papá de Map Reduce. Sin embargo, a partir de ahora; Es thano
  • Enorme ventaja cuando se trata de análisis de video.

Sin embargo, TensorFlow admite las interfaces CPP y Python, lo que podría ser una ventaja con la comunidad de CPP. Pero, cuando se trata de ML y productos de ciencia de datos, Python ha sido el estándar, por lo que no sería una gran ventaja.

Pero, la implementación del modelo y la facilidad de uso en la producción es donde TensorFlow tiene la ventaja real. Como utiliza el propio eigen para una implementación mejorada y fácil, sería un favorito para los ingenieros. Si se vuelve compatible con Windows, verá una gran migración. Pero, me he acostumbrado a la sobrecarga de Python, puedo esperar hasta que se pule más.

Entonces, theano por ahora. Felizmente puedo esperar a que TensorFlow se ponga al día.

Si está implementando redes neuronales de complejidad simple a promedio, vaya con TensorFlow. Si el aprendizaje profundo, entonces theano.

Licenciado bajo: CC-BY-SA con atribución
scroll top