2017-04-26 7 views
0

네트워크에서 LSTMCell 장치를 사용하고 있으며이 장치의 가중치 초기화 방법을 알 수 없습니다.TensorFlow에서 LSTMCell 장치의 가중치를 초기화하는 방법

메소드에서 메소드로 다이빙을 시도했지만이 코드가 어떻게 작동하는지 100 % 확신하지 못했습니다.

LSTMCell 소스 코드에서 다음 줄은 가중치를 초기화하는 것으로 보입니다. contrib/rnn/python/ops/core_rnn_cell_impl.py에서 :

[...] 
    scope = vs.get_variable_scope() 
    with vs.variable_scope(scope, initializer=self._initializer) as unit_scope: 
     [...] 

variable_scope 방법과 범위도 나를 혼란, 나는이 논리가 작동하는 방법 확실하지 오전 정의 된 방법. python/ops/variable_scope.py에서

차례로 마지막으로 get_variable를 호출하는 것 VariableScope의 인스턴스를 반환하는 것 방법 _pure_variable_scope를 호출하는 것 variable_scope 방법. 사용됩니다

초기화가 None (기본) 인 경우, 기본 초기화 변수 범위 을 통과 다음과 같이 get_variable에 대한 docstring는 읽습니다. 그 중 하나가 None이라면 glorot_uniform_initializer이 사용됩니다. 이니셜 라이저는 Tensor 일 수도 있습니다.이 경우 변수는이 값으로 초기화되고 모양입니다.

초기화 프로그램을 지정하지 않으면 LSTMCell이 glorot_uniform_initializer으로 초기화됩니까? 코드의 당신의 추적을 바탕으로

답변

관련 문제