これは簡単なことですが、私はPyBrainのドキュメント、ここや他の場所で有用なものを探すのに苦労しました。PyBrainネットワーク内のすべてのノードの有効化値
問題はこれです:
私はPyBrainに建設され、訓練された3層(入力、隠し、出力)フィードフォワードネットワークを持っています。各レイヤーには3つのノードがあります。私は、新しい入力を使ってネットワークをアクティブにし、結果として隠れた層にノードのアクティブ化値を保存します。私が知る限り、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
は、必要な機能は印刷することです隠れ層の活性化値のリスト。
これは完全に機能しました。どうもありがとう。 – dylanross