Neste tutorial vamos introduzir dois novos tipos de nós: variáveis e placeholders.
Depois de importarmos o tensorflow:
import tensorflow as tf
Depois de importarmos o tensorflow:
import tensorflow as tf
Iniciamos a sessão, mas antes fazemos o reset ao estado interno:
tf.reset_default_graph()
sess=tf.Session()
Agora podemos criar duas variáveis:
x = tf.Variable(2.0,tf.float32)
y = tf.Variable(3.0,tf.float32)
Sempre que se utilizam variáveis numa sessão tensorflow é necessário inicializa-las:
init = tf.global_variables_initializer()
sess.run(init)
Agora podemos definir a expressão matemática a utilizar:
sumnodes = x + y
Agora podemos calcular o resultado da expressão:
print(sess.run(sumnodes))
Para alterarmos os valores das variáveis devemos utilizar a função assign:
sess.run(x.assign(5.0))
Como sempre temos de executar dentro da sessão. Podemos associar esta operação a uma referência o que permite executar várias operações em simultâneo:
NewX = x.assign(5.0)
NewY = y.assign(10.0)
sess.run([NewX,NewY])
Agora, se avaliarmos a expressão o resultado é diferente:
print(sess.run(sumnodes))
Os placeholders têm um comportamento diferente, pois permite mudar o valor quando a expressão é avaliada, podendo ser definido um conjunto de valores (array) que fazem com que o TensorFlow avalie a expressão para cada um de eles.
Assim, criamos um placeholder:
a = tf.placeholder(tf.float32)
Como se pode ver não tem nenhum valor atribuído. De seguida alteramos a nossa expressão para:
sumnodes = x*a + y
Para avaliar a expressão fazemos:
print(sess.run(sumnodes,{a: 10}))
O parâmetro que é passado define o valor do placeholder. Também podemos fazer assim:
print(sess.run(sumnodes,{a: range(10)}))
ou assim:
print(sess.run(sumnodes,{a: [2,5,8,11]}))
Ao trabalharmos com variáveis e placeholders é muito importante não esquecer de fechar a sessão:
sess.close()
O vídeo no youtube
O codigo no Github
Comentários
Enviar um comentário