Aula 09 - Tensor Flow - Sintaxe Básica
Meu github:
Documentação oficial do TensorFlow:
Link para o notebook da aula:
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:
Toti:
Backing track / Play-along:
Código Fluente
Putz!
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'
a = tf.constant(10)
b = tf.constant(20)
type(a)
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
with tf.Session() as sess:
result = sess.run(a + b)
print(result)
Saída: 30
Matrizes
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)
my_ops = [const, fill_mat, my_zeros, my_ones, my_rand_n, my_rand_u]
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.
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.
Criando a matriz a 2 x 2
a = tf.constant([
[1, 2],
[3, 4]
])
a.get_shape()
Criando a matriz b 2 x 1
b = tf.constant([[10], [100]])
b.get_shape()
result = tf.matmul(a, b)
sess.run(result)
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á.
Ficamos por aqui e até a próxima.
Meu github:
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:
Obrigado, até a próxima e bons estudos. ;)