如何在PyBrain中进行监督深信网络训练?
我在使用PyBrain/Python中的DeepBeliefTrainer处理我的数据时遇到了问题。因为我找不到除了无监督学习以外的任何示例来说明如何在PyBrain中使用深度学习,所以希望有人能给出一些示例,帮助我理解基本的使用概念。
我尝试用以下方式初始化:
epochs = 100
layerDims = [768,100,100,1]
net = buildNetwork(*layerDims)
dataset = self.dataset
trainer = DeepBeliefTrainer(net, dataset=dataSet)
trainer.trainEpochs(epochs)
我想用一个监督数据集进行回归,但训练总是失败。有没有人成功地使用深度学习训练器进行监督机器学习?你是怎么做到的?
我遇到的错误是:
File "/Library/Python/2.7/site-packages/PyBrain-0.3.1-py2.7.egg/pybrain/structure/networks/rbm.py", line 39, in __init__
self.con = self.net.connections[self.visible][0]
KeyError: None
1 个回答
4
这是因为你最开始创建的网络:net = buildNetwork(*layerDims)
里没有一个叫“visible”的层,而这个“visible”层是你深度信念网络中的一个层。所以,为了在最开始的网络中找到这个层,你可以这样做:
net.addInputModule(LinearLayer(input_dim, 'visible'))
[...]
trainer = DeepBeliefTrainer(net, dataset=dataSet)