3. Quem?
Universidade Federal do Ceará
- Bacharelado em Computação;
LSBD
- Líder técnico em projetos usando C e C++;
Por aí...
@ffmmjj_martins
https://github.com/ffmmjj
14. O que é Theano
Biblioteca de computação simbólica para Machine
Learning;
Otimiza expressões matemáticas e compila-as para código
nativo;
Permite execução em GPUs!
15. O que é Theano
Exemplo: multiplicar duas matrizes 1000 x 1000;
16. O que é Theano
Exemplo: multiplicar duas matrizes 1000 x 1000;
import theano
import theano.tensor as T
17. O que é Theano
Exemplo: multiplicar duas matrizes 1000 x 1000;
import theano
import theano.tensor as T
X = T.dmatrix('X')
Y = T.dmatrix('Y')
18. O que é Theano
Exemplo: multiplicar duas matrizes 1000 x 1000;
import theano
import theano.tensor as T
X = T.dmatrix('X')
Y = T.dmatrix('Y')
Z = X*Y
19. O que é Theano
Exemplo: multiplicar duas matrizes 1000 x 1000;
import theano
import theano.tensor as T
X = T.dmatrix('X')
Y = T.dmatrix('Y')
Z = X*Y
f = theano.function([X, Y], Z)
20. O que é Theano
Exemplo: multiplicar duas matrizes 1000 x 1000;
import theano x = [[1, 2], [3, 4]]
import theano.tensor as T y = [[5, 6], [7, 8]]
X = T.dmatrix('X') z = f(x, y)
Y = T.dmatrix('Y')
Z = X*Y
f = theano.function([X, Y], Z)
21. O que é Theano
Existem 3 maneiras de ajustar as configurações da Theano
(na seguinte ordem de precedência):
Módulo theano.config
Arquivo .theanorc
Variável de ambiente THEANO_FLAGS
22. O que é Theano
theano.config
import theano
theano.config.floatx = ‘float32’
theano.config.device = ‘gpu0’
theano.config.nvcc.fastmath = ‘True’
32. Exemplo
Machine Learning em 5 minutos :)
Modelo: Representação dos dados reais;
Custo: O quanto o modelo se aproxima dos dados reais;
33. Exemplo
Machine Learning em 5 minutos :)
Modelo: Representação dos dados reais;
Custo: O quanto o modelo se aproxima dos dados reais;
Treinamento: Como minimizar o custo;
59. Exemplo
De volta ao Python!
alpha = T.dvector('a') a = 0.5
x = T.dvector('x') for i in
range(50):
t = T.dvector('t')
a = a - 0.0001 * Dj(a, X, T)
y = x * alpha
custo = T.sum((y - t)**2)
custo_derivada = theano.grad(custo, alpha)
J = theano.function([alpha, x, t], custo) / T.size(t)[0]
Dj = theano.function([alpha, x, t], custo_derivada)