필자는 사소한 것처럼 느껴졌지 만 PyBrain 설명서, 여기 또는 다른 곳에서 유용한 것을 찾기 위해 고심했습니다. PyBrain 네트워크의 모든 노드에 대한 활성화 값
문제점이있다 :I는 3 층 (입력 숨겨진 출력) 피드 포워드 네트워크 구축 및 PyBrain 훈련있다. 각 계층에는 세 개의 노드가 있습니다. 나는 새로운 입력으로 네트워크를 활성화하고 결과 레이어의 활성화 값을 숨겨진 레이어에 저장하려고합니다. 내가 말할 수있는 한 net.activate() 및 net.activateOnDataset()은 출력 레이어 노드의 활성화 값만 반환하며 네트워크를 활성화하는 유일한 방법입니다.
PyBrain 네트워크의 숨겨진 레이어 활성화를 어떻게 얻습니까?
나는 예제 코드는이 경우에 훨씬 도움이 될 것입니다 모르겠지만, 여기 (컷 다운 트레이닝 세트) 어쨌든 일부입니다 :이 경우
from pybrain.tools.shortcuts import buildNetwork
from pybrain.datasets import SupervisedDataSet
from pybrain.supervised.trainers import BackpropTrainer
net = buildNetwork(3, 3, 3)
dataSet = SupervisedDataSet(3, 3)
dataSet.addSample((0, 0, 0), (0, 0, 0))
dataSet.addSample((1, 1, 1), (0, 0, 0))
dataSet.addSample((1, 0, 0), (1, 0, 0))
dataSet.addSample((0, 1, 0), (0, 1, 0))
dataSet.addSample((0, 0, 1), (0, 0, 1))
trainer = BackpropTrainer(net, dataSet)
trained = False
acceptableError = 0.001
# train until acceptable error reached
while trained == False :
error = trainer.train()
if error < acceptableError :
trained = True
result = net.activate([0.5, 0.4, 0.7])
print result
는, 원하는 기능은 인쇄하는 것입니다 숨겨진 레이어의 활성화 값 목록
net['in'].outputbuffer[net['in'].offset]
net['hidden0'].outputbuffer[net['hidden0'].offset]
순수 the source code보고에 따라이 작동합니다 같은
완벽하게 작동했습니다. 매우 감사합니다. – dylanross