Theano - Variabili condivise

Molte volte è necessario creare variabili condivise tra funzioni diverse e anche tra più chiamate alla stessa funzione. Per citare un esempio, durante l'allenamento di una rete neurale si crea il vettore dei pesi per assegnare un peso a ciascuna caratteristica in esame. Questo vettore viene modificato ad ogni iterazione durante l'addestramento in rete. Pertanto, deve essere globalmente accessibile attraverso più chiamate alla stessa funzione. Quindi creiamo una variabile condivisa per questo scopo. In genere, Theano sposta tali variabili condivise sulla GPU, a condizione che sia disponibile. Questo accelera il calcolo.

Sintassi

Crei una variabile condivisa che usi la seguente sintassi:

import numpy
W = theano.shared(numpy.asarray([0.1, 0.25, 0.15, 0.3]), 'W')

Esempio

Qui viene creato l'array NumPy composto da quattro numeri in virgola mobile. Per impostare / ottenere il fileW valore useresti il ​​seguente frammento di codice:

import numpy
W = theano.shared(numpy.asarray([0.1, 0.25, 0.15, 0.3]), 'W')
print ("Original: ", W.get_value())
print ("Setting new values (0.5, 0.2, 0.4, 0.2)")
W.set_value([0.5, 0.2, 0.4, 0.2])
print ("After modifications:", W.get_value())

Produzione

Original: [0.1 0.25 0.15 0.3 ]
Setting new values (0.5, 0.2, 0.4, 0.2)
After modifications: [0.5 0.2 0.4 0.2]