[vc_row][vc_column][vc_column_text]TensorFlow es una librería de Deep Learning de Google que es de código abierto y está disponible en GitHub . TensorFlow sobresale en computación numérica, que es fundamental para Deep Learning. La librería tiene un amplio conjunto de APIs en la mayoría de los lenguajes de programación necesarios para proyectos de Deep Learning: Python, C, C++, Rust, Haskell, Go, Java, Android, IoS, Mac OS, Windows, Linux, y Raspberry Pi. La unidad primera en TensorFlow es tensor. Un tensor consiste en un conjunto de datos primitivos en un arreglo de cualquier número o dimensión. Este conjunto de números en un arreglo es la razón por la que GPUs y otros procesadores diseñados para acelerar las matemáticas de puntos se destacan.
TENSORS
Un tensor es un conjunto de datos primitivos en un arreglo multidimensional, clasificado por número de dimensiones.
1 2 3 | 0: 5.0 1: [5.0, 10.0, 15.0, 20.0, 25.0] 2: [[5.0, 10.0], [15.0, 20.0], [25.0, 30.0]] |
En los programas de TensorFlow, necesita de variables para almacenar las variables en memoria. Algunos tensores son constantes y no variables; por ejemplo, números estáticos. Se debe notar que antes de utilizar una variable, se debe inicializar con un valor. TensorFlow primero construye una gráfica de todas las operaciones a ser realizadas, y luego cuando se llama a la “session», este “ejecuta” la gráfica. Está construido para ser escalable, cambiando la representación de datos internos a tensores (AKA arreglos multidimensionales).[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
EJECUCIÓN DE MATEMÁTICA SENCILLA
1 2 3 4 5 6 7 8 | import tensorflow as tf firstnumber = tf.constant([10, 20, 30, 40, 50]) secondnumber = tf.Variable(firstnumber + 50) with tf.Session() as session: session.run(tf.global_variables_initializer()) print(session.run(secondnumber)) |
El API está bien documentado y bien diseñado, entonces es sencillo de utilizar, por ejemplo, para realizar el ejemplo de LabelImage Java para trabajar como procesador para Apache NiFi. Algunas personas prefieren una interface de alto nivel para programación de redes neuronales, como Keras. Keras está disponible para Python y trabaja no sólo con TensorFlow sino también con CNKT y Theano. Recomendamos utilizar Python 3.7 e iniciar con las librerías de TensorFlow después seguir con Keras. Los programas de TensorFlow generalmente se estructuran en una fase de construcción, que ensambla un gráfico de datos, y una fase de ejecución, que usa la sesión para ejecutar operaciones en el gráfico.
Cuestionamientos de si TensorFlow está listo para entornos de producción se desmienten por el hecho de que TensorFlow ha estado en la comunidad de código abierto durante casi dos años y ha sido utilizado por muchas empresas. TensorFlow sobresale en entornos de producción debido a su diseño distribuido y paralelo y su capacidad de acceder a los datos de Hadoop HDFS. Otra característica clave de TensorFlow es TensorFlow Serving, que es un servidor de producción de alto rendimiento para implementar y servir modelos de Machine Learning usando gRPC como su protocolo de red.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
TRES CAPAS DE LA ARQUITECTURA DE TENSORFLOW
- Librerías de alto nivel: Python, TensorBoard, Java y más1. Librerías de alto nivel: Python, TensorBoard, Java y más
- Núcleo de TensorFlow: Red neuronal de operaciones, motor de ejecución gráfica y más.
- Plataformas: CPUs, GPUs, TPUs, Android y iOS a través de los principales sistemas operativos.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
UN RÁPIDO EJEMPLO DE PYTHON
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import tensorflow as tf five = tf.constant("00") tf.Variable(0, name="variablename") session = tf.Session() file_writer = tf.summary.FileWriter('tflogs', session.graph) run_options = tf.RunOptions(trace_level = tf.RunOptions.FULL_TRACE) run_metadata = tf.RunMetadata() summary, result = session.run(fetches=five, feed_dict=None, options=run_options, run_metadata=run_metadata) print('Value %s' %result) file_writer.add_run_metadata(run_metadata, 'result %s' %result) session.close() |
Las redes neuronales se encuentran presente ya por mucho tiempo, pero ahora pueden ejecutarse en un tiempo razonable gracias a las computadoras de más poder, GPUs y computación elástica en la nube. Google ha puesto las redes neuronales a disposición de todos a través de la disponibilidad pública de TensorFlow en todas las principales nubes y plataformas para ser utilizado por investigadores, científicos de datos, ingenieros de datos, desarrolladores en la nube, desarrolladores móviles y usuarios de aplicaciones web.
Una implementación de ejemplo de una red neuronal pasaría por definir una arquitectura, cargar datos en el modelo, dividir los datos en lotes para preprocesar, convertirlo y utilizarlo para el entrenamiento. Como el modelo se entrena en incrementos, el modelo se guarda para su reutilización. Las ejecuciones futuras prueban el modelo con nuevos datos para verificar el rendimiento. Después de eso, continúas entrenando en muchas iteraciones con la mayor cantidad de datos de entrenamientos que se puedan obtener. Esto es ayudado por redes rápidas, mejores CPUs, GPUs más rápidas, mayor RAM, discos duros de mayor tamaño y generalmente computadores más rápidos.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
CASOS DE USO
- Reconocimiento del lenguaje: reconocer que se está hablando y convertirlo a texto.
- Reconocimiento de imagen: Describir, en texto, de que es la imagen.
- Análisis sentimental: Determinar si una sentencia humana es positiva, negativa o neutral.
- Resumen te textos: Poder resumir un artículo largo en forma automática.
- Procesamiento de imágenes y vídeos móviles: Procesar imágenes y videos desde un dispositivo móvil.
- Traducción del lenguaje: Traducción entre lenguajes.
- Detección de objetos en fotos: Determinar que objetos hay en una foto y enmarcarlas
- Leyendas de las imágenes: agregar leyendas y posibles párrafos que describan una imagen.
- Chatbot: Respuestas inteligentes y enrutamiento de personas vivas con respuestas generadas por TensorFlow.
- Detección de cáncer: Comparación fácil y de cuerpo de fotos con fotos de pacientes de cáncer.
[/vc_column_text][/vc_column][/vc_row]