Bunun önemsiz olduğunu düşünüyorum, ancak PyBrain belgelerinde, burada veya başka yerlerde yararlı bir şey bulmak için uğraştım. etkinleştirme değerleri
sorun
şudur:Ben üç katmanlı (giriş, gizli, çıktı) ileri beslemeli ağ kurmuş ve PyBrain eğitilmiş var. Her katmanın üç düğümü vardır. Ağı yeni girdilerle etkinleştirmek ve gizli katmandaki düğümlerin sonuçtaki aktivasyon değerlerini saklamak istiyorum. Anlayabildiğim kadarıyla, net.activate() ve net.activateOnDataset(), yalnızca çıkış katmanı düğümlerinin etkinleştirme değerlerini döndürecek ve bir ağı etkinleştirmenin tek yolu olacaktır.
PyBrain ağının gizli katman aktivasyonlarına nasıl ulaşırım?
Ben örnek kod, bu durumda o kadar yardımcı olacaktır emin değilim, ama burada (cut-down eğitim seti ile) zaten bazıları aşağıda verilmiştir: Bu durumda
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
, istenen işlevselliği yazdırmaktır Gizli katmanın aktivasyon değerlerinin listesi.
net['in'].outputbuffer[net['in'].offset]
net['hidden0'].outputbuffer[net['hidden0'].offset]
Tamamen the source code bakarak dayalı: Bu çalışması gerekir gibi
Bu mükemmel bir şekilde çalıştı. Çok teşekkürler. – dylanross