Theano - Tipos de Dados
Agora que você entendeu o básico de Theano, vamos começar com os diferentes tipos de dados disponíveis para você criar suas expressões. A tabela a seguir fornece uma lista parcial dos tipos de dados definidos no Theano.
Tipo de dados | Tipo Theano |
---|---|
Byte | bscalar, bvector, bmatrix, brow, bcol, btensor3, btensor4, btensor5, btensor6, btensor7 |
Inteiros de 16 bits | wscalar, wvector, wmatrix, wrow, wcol, wtensor3, wtensor4, wtensor5, wtensor6, wtensor7 |
Inteiros de 32 bits | iscalar, ivector, imatrix, irow, icol, itensor3, itensor4, itensor5, itensor6, itensor7 |
Inteiros de 64 bits | lscalar, lvector, lmatrix, lrow, lcol, ltensor3, ltensor4, ltensor5, ltensor6, ltensor7 |
flutuador | fscalar, fvector, fmatrix, frow, fcol, ftensor3, ftensor4, ftensor5, ftensor6, ftensor7 |
em dobro | dscalar, dvector, dmatrix, drow, dcol, dtensor3, dtensor4, dtensor5, dtensor6, dtensor7 |
complexo | cscalar, cvector, cmatrix, corvo, ccol, ctensor3, ctensor4, ctensor5, ctensor6, ctensor7 |
A lista acima não é exaustiva e o leitor deve consultar o documento de criação do tensor para obter uma lista completa.
Agora darei alguns exemplos de como criar variáveis de vários tipos de dados no Theano.
Escalar
Para construir uma variável escalar, você usaria a sintaxe -
Sintaxe
x = theano.tensor.scalar ('x')
x = 5.0
print (x)
Resultado
5.0
Matriz unidimensional
Para criar uma matriz unidimensional, use a seguinte declaração -
Exemplo
f = theano.tensor.vector
f = (2.0, 5.0, 3.0)
print (f)f = theano.tensor.vector
f = (2.0, 5.0, 3.0)
print (f)
print (f[0])
print (f[2])
Resultado
(2.0, 5.0, 3.0)
2.0
3.0
Se você fizer f[3] isso geraria um índice fora do intervalo de erro, conforme mostrado aqui -
print f([3])
Resultado
IndexError Traceback (most recent call last)
<ipython-input-13-2a9c2a643c3a> in <module>
4 print (f[0])
5 print (f[2])
----> 6 print (f[3])
IndexError: tuple index out of range
Array bidimensional
Para declarar uma matriz bidimensional, você usaria o seguinte snippet de código -
Exemplo
m = theano.tensor.matrix
m = ([2,3], [4,5], [2,4])
print (m[0])
print (m[1][0])
Resultado
[2, 3]
4
Matriz 5-dimensional
Para declarar uma matriz 5-dimensional, use a seguinte sintaxe -
Exemplo
m5 = theano.tensor.tensor5
m5 = ([0,1,2,3,4], [5,6,7,8,9], [10,11,12,13,14])
print (m5[1])
print (m5[2][3])
Resultado
[5, 6, 7, 8, 9]
13
Você pode declarar uma matriz tridimensional usando o tipo de dados tensor3 no lugar de tensor5, uma matriz quadridimensional usando o tipo de dados tensor4, e assim por diante até tensor7.
Construtores plurais
Às vezes, você pode querer criar variáveis do mesmo tipo em uma única declaração. Você pode fazer isso usando a seguinte sintaxe -
Sintaxe
from theano.tensor import * x, y, z = dmatrices('x', 'y', 'z')
x = ([1,2],[3,4],[5,6])
y = ([7,8],[9,10],[11,12])
z = ([13,14],[15,16],[17,18])
print (x[2])
print (y[1])
print (z[0])
Resultado
[5, 6]
[9, 10]
[13, 14]