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]