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]