¿Por qué eliges TensorFlow?

Gracias por A2A.

Además de marcos como keras, Torch / PyTorch, elegí Tensorflow por las siguientes razones:

  1. Comunidad de desarrollo : una gran comunidad de desarrollo está detrás de esto.
  2. Sin bloqueo de proveedores: es de código abierto por Google, por lo que no hay dilemas de bloqueo de proveedores.
  3. Más allá de la experimentación Está ganando cada vez más lugar en su uso de producción. Lo cual es genial para que podamos usarlo en producción.
  4. Alianzas de educación / MOOC y capacitación : con el reciente anuncio de asociarse con Coursera y Udacity, las empresas corporativas pueden asegurarse de que sus inversiones en su fuerza laboral se gastarán bien y generarán ganancias.
  5. Número creciente de adopción de desarrolladores: un número cada vez mayor de desarrolladores, principiantes y experimentados, dedican innumerables horas a la aplicación de Tensorflow. Eso es alentador!
  6. Literatura comunitaria destilada llegando a las masas : un gran número de desarrolladores, gerentes de ingeniería y personas de AI / DeepLearning están escribiendo libros para acercarlo a millones de nuevos estudiantes. (Estoy escribiendo un libro donde se usa Tensorflow en varios proyectos clave sobre los que hablaré: vea mi anuncio de linkedin esta semana)
  7. Extensibilidad : no todo es excelente ya que es un producto joven, pero puedo decirle que disfruto de algunos envoltorios recubiertos de azúcar, lije Sugartensor, que resuelven las frustraciones de los desarrolladores con bastante elegancia. Espero que haya más amor de desarrollador aquí.

Todavía hay algunas cosas que pueden mejorar en Tensorflow, pero su creciente popularidad, a día de hoy, parece imparable.

Google creó TensorFlow para reemplazar a Theano. Las dos bibliotecas son bastante similares. TensorFlow es más que un aprendizaje profundo. TensorFlow en realidad tiene herramientas para apoyar el aprendizaje por refuerzo y otros algos.

Como la mayoría de los frameworks de aprendizaje profundo, TensorFlow está escrito con una API de Python sobre un motor C / C ++ que lo hace correr más rápido. Aunque existe un soporte experimental para una API Java, actualmente no se considera estable, no consideramos que sea una solución para las comunidades Java y Scala.

TensorFlow funciona dramáticamente más lento que otros frameworks como CNTK y MxNet.

TensorFlow no es compatible comercialmente, y es poco probable que Google se dedique al negocio de soporte de software empresarial de código abierto. Está dando una nueva herramienta a los investigadores.

Al igual que Theano, TensforFlow genera un gráfico computacional (por ejemplo, una serie de operaciones matriciales como z = sigmoide (x) donde x y z son matrices) y realiza una diferenciación automática. La diferenciación automática es importante porque no desea tener que codificar manualmente una nueva variación de propagación hacia atrás cada vez que experimenta con una nueva disposición de redes neuronales. En el ecosistema de Google, Google Brain utiliza el gráfico computacional para el trabajo pesado, pero Google aún no ha abierto esas herramientas. TensorFlow es la mitad de la solución DL interna de Google.

Pros y contras

  • (+) Python + Numpy
  • (+) Abstracción gráfica computacional, como Theano
  • (+) Tiempos de compilación más rápidos que Theano
  • (+) TensorBoard para visualización
  • (+) Datos y paralelismo de modelos
  • (-) Más lento que otros marcos
  • (-) Mucho más “gordo” que Antorcha; mas magia
  • (-) No hay muchos modelos entrenados previamente
  • (-) El gráfico computacional es Python puro, por lo tanto lento
  • (-) Sin soporte comercial
  • (-) Llega a Python para cargar cada nuevo lote de entrenamiento
  • (-) No muy tolerable
  • (-) La escritura dinámica es propensa a errores en grandes proyectos de software

Esta publicación mía del blog compara Owl con Tensorflow y explica muchas ventajas de este último marco: Owl – Una biblioteca numérica de OCaml – Investigación de Georgios Pligoropoulos

No puedo decir, efectivamente, elegí TensorFlow: al principio, mi principal problema era ejecutar Theano, Tensorflow y Keras en mi computadora con Windows 10, lo que no parecía tan fácil, especialmente teniendo en cuenta el monopolio que es similar a Unix Los sistemas operativos tienen en las universidades.

De todos modos, cuando finalmente tuve éxito en mi negocio, la enorme pérdida de tiempo para compilar Theano pronto me convenció de que TensorFlow es simplemente más fácil de usar.

En cualquier caso, creo que es correcto señalar que, para mí, cualquier biblioteca avanzada, sin un marco como Keras, sigue siendo solo una herramienta pensada para aquellos que ya tienen una sólida formación en matemáticas.

Respuesta corta: Google. Menos riesgo porque respaldado por un gigante. Mucho apoyo debido a un gigante detrás de él.