O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Python ES 2017 - Introdução ao Tensorflow

146 visualizações

Publicada em

Introdução ao Tensorflow

Publicada em: Dados e análise
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Python ES 2017 - Introdução ao Tensorflow

  1. 1. Introdução a Machine Learning com Google Tensorflow Fabricio Vargas Matos
  2. 2. Fabrício Matos • /fabriciovargasmatos
  3. 3. Características • Biblioteca open source • Suporte a multi-CPU e multi-GPU • Suporte a treino distribuído (cluster) • Suporte a diversos dispositivos (ex: mobile) • Linguagem preferencial: Python e C++ • Bibliotecas de operadores em diferentes níveis de abstração
  4. 4. Estrutura do código • Declaração do modelo (construção do grafo) • Loop de treino • Salvar/carregar modelo • Usar modelo para inferir
  5. 5. Tensorflow graph
  6. 6. Conceitos Básicos • Graph: abstração para pipeline de operações sobre tensores (arrays multi-dimensionais) • Edge: Tensores (arrays multi-dimensionais) de saída/entrada - pipeline • Node: Operações entre tensores
  7. 7. y = w.x + b X W b * + y [32,128] [128,10] [32,10] [10]
  8. 8. Tensors: tf.constant() #graph definition a = tf.constant([[1,0],[0,1]], name="const_1") … #graph evaluation inside session #constant are automatically initialized a_val = sess.run(a) #a_val is a numpy array with shape=(2,2)
  9. 9. Tensors: tf.variable() #graph definition a=tf.Variable([[1,0],[0,1]], trainable=False, name="var_1") … #graph evaluation inside session #manual initialization sess.run(tf.global_variables_initializer()) a_val = sess.run(a) #a_val is a numpy array with shape=(2,2)
  10. 10. Tensors: tf.placeholder() #graph definition a = tf.placeholder(tf.int64, shape=(2,2),name="placeholder_1") … #graph evaluation inside session #a takes the value passed by the feed_dict a_val = sess.run(a, feed_dict={a:[[1,0],[0,1]]}) #a_val is a numpy array with shape=(2,2)
  11. 11. Device allocation: tf.device() with tf.device("/cpu:0"): a = tf.Variable(…) #a will be allocated on the cpu memory with tf.device("/gpu:0"): b = tf.Variable(…) #b will be allocated on the cuda device 0 (default) with tf.device("/gpu:1"): c = tf.Variable(…) #c will be allocated on the cuda device 1
  12. 12. Operações • Operações com matrizes (matmul, etc.) • Funções de ativação (relu, sigmoid, etc.) • Algoritmos de otimização (GD, Adam, etc.) • E muuuuuiiiiito mais…
  13. 13. Exemplo #1 Regressão Linear
  14. 14. Dataset
  15. 15. Criando nosso dataset fake
  16. 16. A função linear original
  17. 17. A função linear original
  18. 18. Construindo o modelo (grafo)
  19. 19. Loss and optimizer
  20. 20. Loop de treino
  21. 21. Loop de treino
  22. 22. A função linear original
  23. 23. A função linear original
  24. 24. Exemplo #2 Deep Neural Network (high-level API)
  25. 25. IRIS Dataset
  26. 26. Exemplo #3: Layers
  27. 27. Conclusões • Biblioteca de operações em diferentes níveis de abstração • Mais fácil de customizar que scikit-learn • Ainda não possui tantos modelos “caixa-preta” prontos (tf.contrib) • Ambiente de execução versátil e escalável • Integração com Google Cloud ML
  28. 28. Obrigado! /fabriciovargasmatos

×