¿Qué es TensorFlow?
TensorFlow, el regalo de Google al mundo del aprendizaje automático. En
2015, Google abrió el TensorFlow y toda su implementación de referencia e
hizo que todo el código fuente estuviera disponible en GitHub bajo la licencia
Apache 2.0.
TensorFlow, en los términos más generales, es un marco de software para el
cálculo científico y numérico basado en gráficos de flujo de datos. Utiliza
gráficos de flujo de datos computacionales para representar una arquitectura
de red neuronal complicada.
La interfaz principal de TensorFlow es Python, pero al igual que Coffe, su
base está escrita en C ++ para mejorar el rendimiento. TensorFlow admite la
ejecución en CPU y GPU.
El núcleo de TensorFlow está en C ++, y tiene dos lenguajes front-end
principales de alto nivel e interfaces para la comunicación e implementación
de los gráficos de computación. El front-end más desarrollado está en Python,
utilizado por desarrolladores y científicos de datos. El front-end de C ++
proporciona una API de bajo nivel, apropiada para una ejecución eficiente en
sistemas integrados.
¿Por qué Deep Learning con
TensorFlow?
TensorFlow ha incorporado soporte para el aprendizaje profundo y las redes
neuronales, por lo que es fácil armar un parámetro de asignación de red y
ejecutar el proceso de capacitación. También tiene una colección de
funciones matemáticas fáciles de entrenar que son útiles para redes
neuronales y cualquier algoritmo de aprendizaje automático basado en
gradientes se beneficiará de la diferenciación automática de TensorFlow y los
optimizadores de primer nivel. Debido a la gran colección de herramientas
flexibles, TensorFlow es compatible con muchas variantes de aprendizaje
automático.
Características de TensorFlow
● TensorFlow proporciona soporte de programación para redes
neuronales profundas y técnicas de aprendizaje automático.
● TensorFlow se utiliza para definir, desarrollar y calcular con precisión
expresiones matemáticas mediante matrices multidimensionales
(tensores).
● TensorFlow proporciona una arquitectura flexible que facilita la
implementación de cálculos numéricos en una o más CPU o GPU en
una computadora de escritorio, servidor o dispositivo móvil con una sola
API.
● TensorFlow es altamente escalable para el cálculo en diferentes
sistemas y grandes conjuntos de datos.
● TensorFlow se ejecuta en múltiples plataformas como Windows, Linux,
máquinas Mac y Android.
● TensorFlow viene con un panel de control práctico llamado
TensorBoard para el análisis de los modelos desarrollados.
Instalación en Windows
Puede instalar y usar TensorFlow en cualquier plataforma, como Linux, Mac
OS y Windows. Para Windows, TensorFlow admite Python 3.5.x y 3.6.x.
Para instalar TensorFlow aquí usamos el gestor de paquetes oficial de Python
pip . Ahora, en Windows, abra el símbolo del sistema y ejecute el siguiente
comando:
C: \> pip3 install tensorflow
Hola Mundo
Nuestro primer ejemplo es un programa simple que combina dos palabras
"Hola" y "Mundo!" y muestra la salida: "¡Hola mundo!". Básico e inequívoco,
este ejemplo presenta muchos de los elementos centrales de TensorFlow y
las formas en que se diferencia de un programa Python regular.
Esto envuelve el primer ejemplo de TensorFlow. A continuación, saltamos a la
derecha con un simple ejemplo de aprendizaje automático, que revela gran
parte del potencial del marco TensorFlow.
¿Qué son los tensores en TensorFlow?
El tipo de datos central de TensorFlow es el tensor. Los tensores son los
componentes subyacentes de la computación y una estructura de datos
fundamental en TensorFlow. Sin utilizar interpretaciones matemáticas
complejas, podemos decir que un tensor (en TensorFlow) describe una matriz
numérica multidimensional, con una colección de datos de cero o n
dimensiones, determinada por rango, forma y tipo.
Un rango, forma y tipo son tres parámetros, por un tensores se pueden
identificar.
Rango: un tensor puede tener numerosas dimensiones, y el número de
dimensiones en un tensor es su rango.
Forma: las longitudes de las dimensiones de un tensor forman una matriz
llamada forma del tensor. En otras palabras, la forma de un tensor es el
número de filas y columnas que tiene.
● Un tensor de dimensión cero (rango cero) se llama escalar; Tiene forma
de [1].
● Un tensor unidimensional (rango uno) se denomina vector; Tiene forma
de [columnas] o [filas].
● Un tensor bidimensional (rango dos) se llama matriz; Tiene forma de
[filas, columnas].
Tipo: Es el tipo de datos asignado a los elementos (elementos) del tensor.
Necesitamos recordar a continuación los puntos sobre los tensores:
● Cada tensor es una instancia de la clase Tensor.
● Un tensor puede consistir en números, cadenas, valores de punto
flotante o booleanos.
● Cada elemento o elemento de un tensor debe tener el mismo tipo de
datos.
● Usando las funciones del paquete tf podemos crear, procesar,
transformar y operar tensores.
Crear tensores utilizando diferentes
funciones.
1) Crear tensor utilizando la función
"constant"
La función "constant" es la función más popular para crear tensores. El único
argumento requerido es el valor o la lista de valores utilizados para crear el
tensor.
El tipo de datos predeterminado es float32, es decir, la lista de valores es de
tipo flotante y int32 si los valores son de tipo entero.
● Aquí, t1 es un tensor unidimensional que contiene tres valores enteros
[tipo de datos int32].
● t2 es un tensor bidimensional que contiene valores de punto flotante
[tipo de datos float32].
● En t5 hemos especificado el tipo de datos como float16; nombre como
T5 ; y la forma como 6. Nota [Si vamos a pasar más de 6 elementos,
arrojará un error "Se proporcionaron demasiados elementos. Se
necesitaron un máximo de 6, pero se recibieron 7"].
2) Crear tensor utilizando la función "ceros".
Los ceros de la función crean tensores con todos los elementos establecidos
en cero y el único argumento requerido de la función es la forma del tensor.
3) Crear tensor utilizando la función de
"unos".
La función queridos también crean tensores con todos los elementos puestos
a uno y el único argumento necesario de la función es la forma del tensor.
4) Crear tensor utilizando la función
"relleno"
La función de relleno de crear tensores con todos los elementos tiene el
mismo valor de paso en el argumento. El tipo de datos del tensor depende del
valor pasado en el argumento.
5) Crear tensor usando la función "linspace"
Las funciones de linspace crean tensores cuyo elemento cambia entre el
valor inicial y final, tanto en orden ascendente como descendente .
6) Crear tensor utilizando la función "rango"
Las funciones de rango crean tensores sin aceptar el número de elementos,
sin embargo, calcula elementos sucesivos agregando un valor llamado delta .
7) Creando tensores con valores aleatorios.
La función random_normal crea un tensor con valores distribuidos
normalmente .
La función random_uniform crea un tensor con valores distribuidos
uniformemente entre los valores mínimo y máximo.
Transformando tensores utilizando
diferentes funciones.
8) remodelar un tensor
La función remodelación utilizada para cambiar la forma de un tensor con el
mismo elemento y tipo de datos.
9) Cambiar el tipo de datos del tensor.
La función de conversión utilizada para cambiar el tipo de datos del tensor.
10) Invertir un tensor
La función inversa invierte las dimensiones dadas del tensor. El siguiente
código demuestra cómo funciona la reversa :
11) Cortar un tensor
La función de corte extrae los tensores secundarios de un tensor.
El siguiente código muestra cómo funciona la división :