2014-10-17 3 views

답변

3

실제로 테스트 코드 안에 완벽하게 설명되어 있습니다. github의 here을 참조하십시오.

길이 20의 시퀀스 양방향 네트워크 (각 샘플 단일 값) 제작 : 그것은 2x1x5 + 2x1x5 + 2x5x5 = 70 중량 있어야

>>> n = BidirectionalNetwork(seqlen=20, inputsize=1, 
          hiddensize=5, symmetric=False) 

>>> n.paramdim 
70 

이제 대칭 네트워크를 구축해 보겠습니다.

>>> n = BidirectionalNetwork(seqlen=12, inputsize=2, 
          hiddensize=3, symmetric=True) 
>>> n.indim 
24 

이는 1x2x3 + 1x1x3 + 1x3x3 = 18 중량 있어야

>>> n.paramdim 
18 

순방향 패스 (가중치 랜덤 있지만)

>>> from numpy import ones 
>>> r = n.activate(ones(24)) 
>>> len(r) 
12 

결과가 대칭이어야

>>> r[0]-r[-1] 
0.0 

그라디언트를 확인하십시오 :

>>> from pybrain.tests import gradientCheck 
>>> gradientCheck(n) 
Perfect gradient 
True