Theano - Types de données

Maintenant que vous avez compris les bases de Theano, commençons par les différents types de données dont vous disposez pour créer vos expressions. Le tableau suivant vous donne une liste partielle des types de données définis dans Theano.

Type de données Type de Theano
Octet

bscalar, bvector, bmatrix, front, bcol, btensor3, btensor4, btensor5, btensor6, btensor7

Entiers 16 bits

wscalar, wvector, wmatrix, wrow, wcol, wtensor3, wtensor4, wtensor5, wtensor6, wtensor7

Entiers 32 bits

iscalaire, ivector, imatrix, irow, icol, itensor3, itensor4, itensor5, itensor6, itensor7

Entiers 64 bits

lscalaire, lvector, lmatrix, lrow, lcol, ltensor3, ltensor4, ltensor5, ltensor6, ltensor7

flotte

fscalar, fvector, fmatrix, frow, fcol, ftensor3, ftensor4, ftensor5, ftensor6, ftensor7

double

dscalar, dvector, dmatrix, drow, dcol, dtensor3, dtensor4, dtensor5, dtensor6, dtensor7

complexe

cscalar, cvector, cmatrix, corbeau, ccol, ctensor3, ctensor4, ctensor5, ctensor6, ctensor7

La liste ci-dessus n'est pas exhaustive et le lecteur est renvoyé au document de création de tenseur pour une liste complète.

Je vais maintenant vous donner quelques exemples sur la façon de créer des variables de différents types de données dans Theano.

Scalaire

Pour construire une variable scalaire, vous utiliseriez la syntaxe -

Syntaxe

x = theano.tensor.scalar ('x')
x = 5.0
print (x)

Production

5.0

Réseau unidimensionnel

Pour créer un tableau unidimensionnel, utilisez la déclaration suivante -

Exemple

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])

Production

(2.0, 5.0, 3.0)
2.0
3.0

Si tu fais f[3] cela générerait une erreur d'index hors plage comme indiqué ici -

print f([3])

Production

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

Réseau bidimensionnel

Pour déclarer un tableau à deux dimensions, vous utiliserez l'extrait de code suivant -

Exemple

m = theano.tensor.matrix
m = ([2,3], [4,5], [2,4])
print (m[0])
print (m[1][0])

Production

[2, 3]
4

Réseau à 5 dimensions

Pour déclarer un tableau à 5 dimensions, utilisez la syntaxe suivante -

Exemple

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])

Production

[5, 6, 7, 8, 9]
13

Vous pouvez déclarer un tableau à 3 dimensions en utilisant le type de données tensor3 au lieu de tensor5, un tableau à 4 dimensions utilisant le type de données tensor4, et ainsi de suite jusqu'à tensor7.

Constructeurs pluriels

Parfois, vous souhaiterez peut-être créer des variables du même type dans une seule déclaration. Vous pouvez le faire en utilisant la syntaxe suivante -

Syntaxe

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])

Production

[5, 6] 
[9, 10] 
[13, 14]