Aula 09 – Tensor Flow – Sintaxe Básica

Aula 09 – Tensor Flow – Sintaxe Básica

Voltar para página principal do blog

Todas as aulas desse curso

Aula 08                      Aula 10

Meu github:

https://github.com/toticavalcanti

Documentação oficial do TensorFlow:

https://www.tensorflow.org/

Link para o notebook da aula:

notebook-da-aula

Python com Tensorflow

Python com Tensorflow

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

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 09 – Tensor Flow – Sintaxe Básica

A palavra tensor é apenas uma forma sofisticada de chamar um array dimensional, isto é, uma matriz.

Começaremos criando os tensores mais básicos possíveis, eles serão constantes.

Importando o tensorflow


import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

Verificando a versão


print(tf.__version__)

Criando os tensores


codigo = tf.constant("Codigo ")
fluente = tf.constant("fluente")

Verificando o tipo do objeto


type(codigo)

Imprimindo o objeto


print(codigo)

Não vai imprimir a palavra “Código“.

Para que a palavra seja impressa, o que precisamos fazer é executar esse tipo de operação dentro de uma sessão, assim como fizemos em nosso rede neural manual que criamos nas aulas anteriores.

Portanto, a maneira como realmente criamos uma sessão de fluxo tensorial é com o seguinte comando:

Criando a sessão


with tf.Session() as sess:
  result = sess.run(codigo + fluente)

Imprimindo o resultado


print(result)

Obs. O ‘b‘ minúsculo antes da string de saída em python 3, representa bytes literais:

Saída: b’Codigo fluente’

Soma utilizando tensores


a = tf.constant(10)
b = tf.constant(20)
type(a)

Veja que ele controla o número de vezes que você faz a soma, olha só:


a + b

Saída: <tf.Tensor ‘add_1:0‘ shape=() dtype=int32>/h3>


a + b

Saída: <tf.Tensor ‘add_2:0‘ shape=() dtype=int32>/h3>


a + b

Saída: <tf.Tensor ‘add_3:0‘ shape=() dtype=int32>/h3>


a + b

Veja que a operação não foi feita, precisamos fazer isso dentro de uma sessão


with tf.Session() as sess:
  result = sess.run(a + b)

print(result)

Saída: 30

Matrizes

Operações utilizando matrizes numpy, são as que mais são usadas no contexto do tensorflow e redes neurais.


constant = tf.constant(10)
fill_mat = tf.fill((4, 4), 10)
my_zeros = tf.zeros((4, 4))
my_ones = tf.ones((4, 4))
my_rand_n = tf.random_normal((4, 4), mean = 0, stddev = 1.0)
my_rand_u = tf.random_uniform((4, 4), minval = 0, maxval = 1)

Criando uma lista com todas as operações


my_ops = [const, fill_mat, my_zeros, my_ones, my_rand_n, my_rand_u]

Vamos executar as operações na lista em uma sessão interativa

Segundo a documentação, a única diferença entre uma sessão regular e uma sessão interativa, é que a interativa se instala como a sessão padrão no notebook.

Na prática o que acontece é que no Jupyter notebook, com a sessão interativa, você consegue rodar a sessão em múltiplas celulas.

Na verdade, não tem muita utilidade fora de um notebook.

Instanciando uma Sessão Interativa


sess = tf.InteractiveSession()

Executando


for op in my_ops:
  print(sess.run(op))
  print('\n')

Ou assim, usando o eval()


for op in my_ops:
  print(op.eval())
  print('\n')

Os métodos Tensor.eval () e Operation.run () usarão essa sessão para executar as operações.

Multiplicação de matrizes

Criando a matriz a 2 x 2


a = tf.constant([
                 [1, 2], 
                 [3, 4]
               ])

Pegando o formato


a.get_shape()

Criando a matriz b 2 x 1


b = tf.constant([[10], [100]])

Pegando o formato


b.get_shape()

Multiplicando as matrizes


result = tf.matmul(a, b)

Executando dentro da sessão para imprimir o resultado


sess.run(result)

Posso fazer assim também:


result.eval()

Nessa aula a gente fez operações básicas de constantes e as executamos em sessões regulares e interativas.

Por essa aula é só.

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

notebook-da-aula

Ficamos por aqui e até a próxima.

Voltar para página principal do blog

Todas as aulas desse curso

Aula 08                      Aula 10

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. 😉

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>