Theano-공유 변수

여러 번, 서로 다른 함수간에 그리고 동일한 함수에 대한 여러 호출간에 공유되는 변수를 만들어야합니다. 예를 들어, 신경망을 훈련하는 동안 고려중인 각 특성에 가중치를 할당하기위한 가중치 벡터를 생성합니다. 이 벡터는 네트워크 훈련 중 모든 반복에서 수정됩니다. 따라서 동일한 함수에 대한 여러 호출에서 전역 적으로 액세스 할 수 있어야합니다. 그래서 우리는이 목적을 위해 공유 변수를 만듭니다. 일반적으로 Theano는 이러한 공유 변수를 GPU로 이동합니다. 이것은 계산 속도를 높입니다.

통사론

다음 구문을 사용하여 공유 변수를 만듭니다.

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

여기서 4 개의 부동 소수점 숫자로 구성된 NumPy 배열이 생성됩니다. 설정 / 얻기W 다음 코드 스 니펫을 사용하는 값-

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

산출

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]