Theano - Tipos de datos
Ahora que ha entendido los conceptos básicos de Theano, comencemos con los diferentes tipos de datos disponibles para crear sus expresiones. La siguiente tabla le brinda una lista parcial de los tipos de datos definidos en Theano.
Tipo de datos | Tipo Theano |
---|---|
Byte | bscalar, bvector, bmatrix, brow, bcol, btensor3, btensor4, btensor5, btensor6, btensor7 |
Enteros de 16 bits | wscalar, wvector, wmatrix, wrow, wcol, wtensor3, wtensor4, wtensor5, wtensor6, wtensor7 |
Enteros de 32 bits | iscalar, ivector, imatrix, irow, icol, itensor3, itensor4, itensor5, itensor6, itensor7 |
Enteros de 64 bits | lscalar, lvector, lmatrix, lrow, lcol, ltensor3, ltensor4, ltensor5, ltensor6, ltensor7 |
flotador | fscalar, fvector, fmatrix, fruncir el ceño, fcol, ftensor3, ftensor4, ftensor5, ftensor6, ftensor7 |
doble | dscalar, dvector, dmatrix, drow, dcol, dtensor3, dtensor4, dtensor5, dtensor6, dtensor7 |
complejo | cscalar, cvector, cmatrix, cuervo, ccol, ctensor3, ctensor4, ctensor5, ctensor6, ctensor7 |
La lista anterior no es exhaustiva y se remite al lector al documento de creación del tensor para obtener una lista completa.
Ahora le daré algunos ejemplos de cómo crear variables de varios tipos de datos en Theano.
Escalar
Para construir una variable escalar, usaría la sintaxis:
Sintaxis
x = theano.tensor.scalar ('x')
x = 5.0
print (x)
Salida
5.0
Matriz unidimensional
Para crear una matriz unidimensional, use la siguiente declaración:
Ejemplo
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])
Salida
(2.0, 5.0, 3.0)
2.0
3.0
Si lo haces f[3] generaría un error de índice fuera de rango como se muestra aquí -
print f([3])
Salida
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
Matriz bidimensional
Para declarar una matriz bidimensional, usaría el siguiente fragmento de código:
Ejemplo
m = theano.tensor.matrix
m = ([2,3], [4,5], [2,4])
print (m[0])
print (m[1][0])
Salida
[2, 3]
4
Matriz de 5 dimensiones
Para declarar una matriz de 5 dimensiones, use la siguiente sintaxis:
Ejemplo
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])
Salida
[5, 6, 7, 8, 9]
13
Puede declarar una matriz tridimensional utilizando el tipo de datos tensor3 en lugar de tensor5, una matriz de 4 dimensiones que utiliza el tipo de datos tensor4y así sucesivamente hasta tensor7.
Constructores plurales
A veces, es posible que desee crear variables del mismo tipo en una sola declaración. Puede hacerlo utilizando la siguiente sintaxis:
Sintaxis
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])
Salida
[5, 6]
[9, 10]
[13, 14]