Theano - Gemeinsame Variablen
Oft müssten Sie Variablen erstellen, die von verschiedenen Funktionen und auch von mehreren Aufrufen derselben Funktion gemeinsam genutzt werden. Um ein Beispiel zu nennen: Während Sie ein neuronales Netzwerk trainieren, erstellen Sie einen Gewichtsvektor, um jedem betrachteten Merkmal ein Gewicht zuzuweisen. Dieser Vektor wird bei jeder Iteration während des Netzwerktrainings geändert. Daher muss es über mehrere Aufrufe derselben Funktion hinweg global zugänglich sein. Zu diesem Zweck erstellen wir eine gemeinsame Variable. In der Regel verschiebt Theano solche gemeinsam genutzten Variablen auf die GPU, sofern eine verfügbar ist. Dies beschleunigt die Berechnung.
Syntax
Sie erstellen eine gemeinsam genutzte Variable und verwenden die folgende Syntax:
import numpy
W = theano.shared(numpy.asarray([0.1, 0.25, 0.15, 0.3]), 'W')
Beispiel
Hier wird das aus vier Gleitkommazahlen bestehende NumPy-Array erstellt. Um das zu setzen / zu bekommenW Wert würden Sie das folgende Code-Snippet verwenden -
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())
Ausgabe
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]