Tôi cảm thấy điều này không đáng kể, nhưng tôi đã cố gắng tìm mọi thứ hữu ích trong tài liệu PyBrain, tại đây hoặc ở nơi khác.giá trị kích hoạt cho tất cả các nút trong mạng PyBrain
Vấn đề là thế này:
Tôi có một ba lớp (đầu vào, ẩn, đầu ra) mạng feedforward xây dựng và đào tạo về PyBrain. Mỗi lớp có ba nút. Tôi muốn kích hoạt mạng với các đầu vào mới lạ và lưu trữ các giá trị kích hoạt kết quả của các nút ở lớp ẩn. Theo như tôi có thể nói, net.activate() và net.activateOnDataset() sẽ chỉ trả về các giá trị kích hoạt của các nút lớp đầu ra và là những cách duy nhất để kích hoạt một mạng.
Làm cách nào để có được kích hoạt lớp ẩn của mạng PyBrain?
Tôi không chắc chắn mã ví dụ sẽ giúp nhiều trong trường hợp này, nhưng đây là một số nào (với một tập huấn luyện cắt xuống):
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
Trong trường hợp này, chức năng mong muốn, có thể in danh sách các giá trị kích hoạt của lớp ẩn.
Điều này hoạt động hoàn hảo. Cảm ơn rất nhiều. – dylanross