Theano - Tipi di dati
Ora che hai compreso le basi di Theano, iniziamo con i diversi tipi di dati a tua disposizione per creare le tue espressioni. La tabella seguente fornisce un elenco parziale dei tipi di dati definiti in Theano.
Tipo di dati | Tipo Theano |
---|---|
Byte | bscalar, bvector, bmatrix, brow, bcol, btensor3, btensor4, btensor5, btensor6, btensor7 |
Intero a 16 bit | wscalar, wvector, wmatrix, wrow, wcol, wtensor3, wtensor4, wtensor5, wtensor6, wtensor7 |
Intero a 32 bit | iscalar, ivector, imatrix, irow, icol, itensor3, itensor4, itensor5, itensor6, itensor7 |
Intero a 64 bit | lscalar, lvector, lmatrix, lrow, lcol, ltensor3, ltensor4, ltensor5, ltensor6, ltensor7 |
galleggiante | fscalar, fvector, fmatrix, frow, fcol, ftensor3, ftensor4, ftensor5, ftensor6, ftensor7 |
Doppio | dscalar, dvector, dmatrix, drow, dcol, dtensor3, dtensor4, dtensor5, dtensor6, dtensor7 |
complesso | cscalar, cvector, cmatrix, crow, ccol, ctensor3, ctensor4, ctensor5, ctensor6, ctensor7 |
L'elenco sopra non è esaustivo e si rimanda il lettore al documento di creazione del tensore per un elenco completo.
Ora ti fornirò alcuni esempi di come creare variabili di vari tipi di dati in Theano.
Scalare
Per costruire una variabile scalare dovresti usare la sintassi -
Sintassi
x = theano.tensor.scalar ('x')
x = 5.0
print (x)
Produzione
5.0
Array unidimensionale
Per creare una matrice unidimensionale, utilizzare la seguente dichiarazione:
Esempio
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])
Produzione
(2.0, 5.0, 3.0)
2.0
3.0
Se fate f[3] genererebbe un errore di indice fuori intervallo come mostrato qui -
print f([3])
Produzione
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 bidimensionale
Per dichiarare un array bidimensionale dovresti usare il seguente frammento di codice:
Esempio
m = theano.tensor.matrix
m = ([2,3], [4,5], [2,4])
print (m[0])
print (m[1][0])
Produzione
[2, 3]
4
Array a 5 dimensioni
Per dichiarare un array a 5 dimensioni, utilizzare la seguente sintassi:
Esempio
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])
Produzione
[5, 6, 7, 8, 9]
13
È possibile dichiarare un array tridimensionale utilizzando il tipo di dati tensor3 al posto di tensor5, una matrice quadridimensionale che utilizza il tipo di dati tensor4e così via fino a tensor7.
Costruttori plurali
A volte, potresti voler creare variabili dello stesso tipo in una singola dichiarazione. Puoi farlo utilizzando la seguente sintassi:
Sintassi
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])
Produzione
[5, 6]
[9, 10]
[13, 14]