Theano - Paylaşılan Değişkenler

Çoğu zaman, farklı işlevler arasında ve ayrıca aynı işleve yapılan birden çok çağrı arasında paylaşılan değişkenler oluşturmanız gerekir. Bir örnek vermek gerekirse, bir sinir ağını eğitirken, söz konusu her özelliğe bir ağırlık atamak için ağırlık vektörü oluşturursunuz. Bu vektör, ağ eğitimi sırasında her yinelemede değiştirilir. Bu nedenle, aynı işleve yönelik birden fazla çağrı üzerinden küresel olarak erişilebilir olması gerekir. Bu nedenle, bu amaç için paylaşılan bir değişken oluşturuyoruz. Tipik olarak, Theano bu tür paylaşılan değişkenleri, mevcut olması koşuluyla GPU'ya taşır. Bu, hesaplamayı hızlandırır.

Sözdizimi

Aşağıdaki sözdizimini kullanarak paylaşılan bir değişken oluşturursunuz -

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

Misal

Burada dört kayan nokta sayısından oluşan NumPy dizisi oluşturulur. Ayarlamak / almak içinW aşağıdaki kod parçacığını kullanacağınız değer -

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

Çıktı

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]