Quantcast
Channel: Planeta Linux Venezuela
Viewing all articles
Browse latest Browse all 714

Ernesto Crespo: Objeto Graph de TensorFlow

$
0
0
Continuando con la serie de artículos sobre Tensorflow, en este caso se explicará el significado y uso de Grapg.

Antes de continuar les dejo la lista de artículos de esta serie:
  1. Hola mundo desde Tensorflow
  2. Matemáticas básicas con Tensorflow
  3. Manejo de matrices con Tensorflow
  4. Variables y placeholders en Tensorflow

tf.Graph:
Cada computo en Tensorflow es representado por un Grafo de flujo de datos, este tiene dos elementos: 
  • Un objeto tf.Operation, que representa la unidad de computo.
  • Un objeto tf.Tensor, que representa unidades de datos,  que se necesita para las operaciones.
A continuación se muestra una figura de la representación de un Grafo:


A continuación se muestra el uso de Graph:

In [1]:
#Se importa tensorflow
importtensorflowastf
In [2]:
#Se define dos constantes
n1=tf.constant(10)
n2=tf.constant(20)
In [3]:
#Se realiza la suma de las dos constantes
n3=n1+n2
In [4]:
#Se instancia la sesión y se ejecuta almacenando el resultado de n3 que se muestra

withtf.Session()assess:
result=sess.run(n3)
print(result)
30
In [5]:
#Se imprime la constante n3, es una suma, y de tipo int32
print(n3)
Tensor("add:0", shape=(), dtype=int32)
In [6]:
#Se obtiene el valor por defecto del grafo en memoria
print(tf.get_default_graph())
<tensorflow.python.framework.ops.Graph object at 0x7f1026aa1cf8>
In [7]:
#Se instancia el objeto grafo 
g=tf.Graph()
In [8]:
#Se imprime su valor, los valores en memoria serán distintos del por defecto al creado.
print(g)
<tensorflow.python.framework.ops.Graph object at 0x7f1026ad00b8>
In [9]:
#Se define graph1 como el grafo por defecto
graph1=tf.get_default_graph()
In [10]:
#Se imprime graph1, será el valor por defecto en memoria
print(graph1)
<tensorflow.python.framework.ops.Graph object at 0x7f1026aa1cf8>
In [11]:
#Se instancia el grafo2
graph2=tf.Graph()
In [12]:
#Se muestra el valor de grafo2
print(graph2)
<tensorflow.python.framework.ops.Graph object at 0x7f1026ad0390>
In [13]:
#Se define el grafo2 como si fuera  por defecto y se muestra si en verdad es por defecto 
withgraph2.as_default():
print(graph2istf.get_default_graph())
True
In [14]:
#Se evalua si grafo 2, es el de por defecto
print(graph2istf.get_default_graph())
False

Otro ejemplo de Grafo

In [15]:
#Se define el grafo
grafo=tf.Graph()
In [16]:
#Se define la sesión pasandole el grafo
withtf.Session(graph=grafo)assess:
#Se define las constantes x y y que son arreglos
x=tf.constant([11,13,16])
y=tf.constant([10,10,10])
#Se realiza la operación de suma de x+y
op=tf.add(x,y)
#Se ejecuta la operación en la sesión
resultado=sess.run(fetches=op)
print(resultado)
[21 23 26]
In [ ]:

Si quiere investigar más sobre Graph puede revisar su documentación en tensorflow (documentación del api y guía para los progamadores), pueden revisar el artículo en medium Tensorflow in a nutshell-Part 1: Basics, también pueden revisar el tutorial de la gente de datacamp Tensorflow tutorial for beginners.


Viewing all articles
Browse latest Browse all 714