Aula 11 - Tensor Flow - Redes Neurais - Variables e Placeholders

Meu github:

https://github.com/toticavalcanti

Documentação oficial do TensorFlow:

https://www.tensorflow.org/

Link para o notebook da aula:

notebook-da-aula

Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no Facebook

https://digitalinnovation.one/

Link do código fluente no Pinterest

Aproveito para deixar meus link de afiliados:

Hostinger

Digital Ocean

One.com

Toti:

https://www.youtube.com/channel/UCUEtjLuDpcOvR3mIUr-viOA

Backing track / Play-along:

https://www.youtube.com/channel/UCT3TryVMqTqYBjf5g5WAHfA

Código Fluente

https://www.youtube.com/channel/UCgn-O-88XBAwdG9gUWkkb0w

Putz!

https://www.youtube.com/channel/UCZXop2-CECwyFYmHbhnAkAw

Fiquem a vontade para me adicionar ao linkedin.

Aula 11 - Tensor Flow - Redes Neurais - Variables e Placeholders

Existem dois tipos principais de objetos tensores em grafos tensorflow: 
  • Variables
  • Placeholders

Otimização

Durante o processo de otimização, o tensorflow ajusta os parâmetros do modelo. As variables podem guardar os valores dos pesos e vieses, por toda a session. As variables precisam ser inicializadas. Placeholders são vazios inicialmente e são usados para alimentar o exemplo de treinamento atual. Mas, eles precisam da declaração do tipo esperado, exemplo, tf.float32 e o formato dos dados.

Variables


import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
sess = tf.InteractiveSession()
my_tensor = tf.random_uniform((4, 4), 0, 1)
my_var = tf.Variable(initial_value = my_tensor)
Nas linhas acima, importamos o tensorflow com comportamentos da versão v2 desabilitado. Depois criamos uma sessão, um tensor random_uniform no formato 4 por 4 com os números variando entre o mínimo que é zero e o máximo que é 1. Em seguida criamos uma variável chamada my_var. Nesse ponto, se a gente rodar:

sess.run(my_var)
Vai dá o seguinte erro: FailedPreconditionError: Attempting to use uninitialized value Variable [[{{node _retval_Variable_0_0}}]] Porque as variáveis precisam ser inicializadas.

Inicializando variáveis


init = tf.global_variables_initializer()
sess.run(init)
Agora sim, podemos rodar:

sess.run(my_var)

Saída:

array([[0.24794829, 0.45281565, 0.01025438, 0.11464036], [0.93829536, 0.29546058, 0.21686137, 0.23481607], [0.220119 , 0.7086921 , 0.01936626, 0.47006845], [0.48482347, 0.39950764, 0.95991206, 0.18866229]], dtype=float32)

Placeholder


ph = tf.placeholder(tf.float32)
É comum termos placeholders declarados assim:

ph = tf.placeholder(tf.float32, shape=(None, 4))
Esse primeiro campo com None, ele é preenchido com o número de amostras no conjunto dados que alimentam em lotes esse placeholder da rede. Só que muitas vezes não sabemos qual é o número de amostras antes de criar o placeholder, nesse caso, coloca-se None no primeiro campo.

Por essa aula é só, na próxima a gente constrói nossa primeira rede neural.

Nos vemos na próxima, \o/ e até lá.

notebook-da-aula

Ficamos por aqui e até a próxima.

Meu github:

https://github.com/toticavalcanti

Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no Facebook

Link do código fluente no Pinterest

Novamente deixo meus link de afiliados:

Hostinger

Digital Ocean

One.com

Obrigado, até a próxima e bons estudos. ;)