Está en la página 1de 4

Ventajas de usar TensorFlow

 TensorFlow es un gran framework de DL. Tiene el soporte de Google y eso es siempre


motivo de confianza. Además, su popularidad se traduce en toneladas de código abierto
con multitud de arquitecturas ya implementadas y modelos pre-entrenados que facilitan
enormemente la tarea de los programadores e ingenieros, aumentando su productividad.

 Si procesamos en CPU, TensorFlow tiene la ventaja de ser súper escalable. Mientras otros
frameworks empeoran su desempeño cuando aumentamos el paralelismo del procesador,
TensorFlow sigue mejorando tiempos incluso con 32 hilos corriendo en paralelo.

 TensorFlow es rápido, es pythónico, es de Google y tiene un nombre con mucho


marketing.

 TensorFlow es general, flexible, portable, fácil de usar, y completamente de código


abierto. En las pruebas ha conseguido ser el doble de rápido que DistBelief, y podemos
hacer cualquier cosa que se nos ocurra a través de una interfaz Python.

Desventajas de usar TensorFlow

 El problema de este enfoque es que el entrenamiento en CPU no es (o no debería ser) la


opción cuando tenemos nuestro modelo en producción. En general todos los frameworks
mejoran el desempeño entre 10 y 15 veces si entrenamos sobre la tarjeta gráfica (GPU).
Aquí es donde TensorFlow no da la talla. De las 7 arquitecturas analizadas, TensorFlow
queda último o penúltimo en 6 de ellas en única tarjeta gráfica. Acaso pueda
argumentarse que TensorFlow será escalable sobre la GPU del mismo modo que lo es
sobre CPU, pero no.

 Para una arquitectura simple (fully connected) CNTK (Microsoft) y Apache MXNet mejoran
un 35% sobre 2 GPUs, TensorFlow apenas logra una mejora del 10%. Parece ser que el
problema es que TensorFlow actualiza los parámetros en la CPU, resultando un coste
mayor al tener que traspasar el gradiente de la GPU a la CPU.

 TensorFlow ofrece una solución basada en un clúster con una arquitectura parameter
server ↔ worker . El principal problema es que al ser un producto independiente hay que
integrarlo a nuestro clúster de Big Data como una herramienta aparte.

 Otra opción es usar TensorflowOnSpark, una librería que está desarrollando Yahoo! que
integra TensorFlow en nuestro clúster Apache Spark o Apache Hadoop. Al ser una librería
muy nueva es complicado saber el estado actual de la misma. En una conferencia de 2016
se advierte de que sólo debe ser utilizada en caso de que tu problema no quepa en una
sola máquina, ya que sufre severas penalizaciones en el rendimiento.
Para qué sirve TensorFlow

Google afirma que TensorFlow sirve tanto para investigación como para usarlo en productos
reales, y lo mejor de todo es que TensorFlow es completamente nuestro: todo el código de
TensorFlow, las herramientas asociadas, los ejemplos y los tutoriales son de código abierto y están
licenciados con una licencia Apache 2.0. En otras palabras, no tendremos problema alguno en
aprovechar todo el potencial de TensorFlow.
Sirve para construir y entrenar redes neuronales, que permiten detectar y descifrar patrones y
correlaciones, análogos al aprendizaje y razonamiento usados por los humanos.
TensorFlow es una biblioteca de código abierto que se basa en un sistema de redes neuronales.
Esto significa que puede relacionar varios datos en red simultáneamente, de la misma forma que
lo hace el cerebro humano. Por ejemplo, puede reconocer varias palabras del alfabeto porque
relaciona las letras y fonemas. Otro caso es el de imágenes y textos que se pueden relacionar
entre sí rápidamente gracias a la capacidad de asociación del sistema de redes neuronales. En el
programa, se almacenan todas las pruebas y experimentos que se realizaron para el desarrollo de
programas y aplicaciones.

Aplicaciones de TensorFlow

Los directivos de Google consideran que TensorFlow puede ser muy útil para las empresas
sanitarias, de seguros y automovilísticas. Desde que liberó el código, varias empresas utilizan el
software o se han basado en el mismo para desarrollar aplicaciones. El gigante de los seguros AXA
ya utiliza el software para predecir (con un 78% de acierto) las posibilidades de que un asegurado
cause un grave accidente de coche. Otra aplicación popular derivada del uso de los datos de
TensorFlow es el motor de reconocimiento de imágenes DeepDream. Miles de startups e
investigadores universitarios apuestan por TensorFlow como base para desarrollar sus propios
sistemas de inteligencia artificial.

Enumeramos algunos ejemplos de sus aplicaciones:

1. Para mejorar la fotografía de los smartphones

Una de las aplicaciones más interesantes está en los teléfonos. Por ejemplo, el Pixel 2 que se lanzó
este año, incluye efecto bokeh con una sola cámara. Se crea un modo retrato que separa a la
persona del fondo, cuando esto era algo reservado para dispositivos con doble cámara. Y esto se
consigue con el TensorFlow de Machine Learning, entrenando un modelo de TensorFlow en el
backend, pero también ejecutándolo en el propio teléfono. No es tarea sencilla.
Se trata un área muy interesante. Otras empresas necesitan múltiples cámaras para lograr
básicamente el mismo resultado. La rapidez de la solución y el fantástico resultado que tiene es
todo un hito tecnológico. Google ha sido capaz de imitar un efecto propio de la física óptica con
sólo software y aprendizaje profundo.

2. Para ayudar al diagnóstico médico

El sector de la salud es uno de los campos que más se están revolucionando y que mayor impacto
tendrá para todos nosotros como sociedad en los próximos años.
TensorFlow ya está mejorando las herramientas que utilizan los médicos, por ejemplo
ayudándoles a analizar radiografías. El Deep Learning va a permitir a los facultativos médicos pasar
más tiempo con los pacientes, además de permitirles hacer actividades más interesantes y
emocionantes.
El Deep Learning podría estar en los dispositivos que llevan los médicos con ellos, por lo que
definitivamente hay necesidad de que TensorFlow funcione en gran variedad de dispositivos.

3. Procesamiento de imágenes

Una de las aplicaciones más conocidas de TensorFlow es el software automatizado de


procesamiento de imágenes, DeepDream. Se trata de un programa de visión artificial creado por el
ingeniero de Google Alexander Mordvintsev, que utiliza una red neuronal convolucional para
encontrar y mejorar patrones en imágenes mediante pareidolia algorítmica, creando así una
apariencia alucinógena, similar a un sueño, creando imágenes deliberadamente sobreprocesadas.

También podría gustarte