18
我在使用Pybrain训练DBN时遇到一些困难。 首先,我试图做的简单的方法:PyBrain - 如何做深层信仰网络培训?
net = buildNetwork(*layerDims)
我面临这个问题:How to do supervised deepbelief training in PyBrain?和建议的解决方案只是导致了另一个错误:
File "/home/WORK/Canopy_64bit/User/lib/python2.7/site-packages/PyBrain-0.3.1- py2.7.egg/pybrain/unsupervised/trainers/deepbelief.py", line 62, in <genexpr>
layercons = (self.net.connections[i][0] for i in layers)
IndexError: list index out of range
于是,我就确定从网络刮!
inp = LinearLayer(3 , 'visible')
hidden0 = SigmoidLayer(2 , 'hidden0')
hidden1= SigmoidLayer(2 , 'hidden1')
output = LinearLayer(2 , 'output')
bias = BiasUnit('bias')
net = Network()
net.addInputModule(inp)
net.addModule(hidden0)
net.addModule(hidden1)
net.addModule(output)
net.addModule(bias)
net.addConnection(FullConnection(inp, hidden0))
net.addConnection(FullConnection(hidden0, hidden1))
net.addConnection(FullConnection(hidden1, output))
net.addConnection(FullConnection(bias, hidden0))
net.addConnection(FullConnection(bias, hidden1))
net.addConnection(FullConnection(bias, output))
net.sortModules()
仍然当我运行:
trainer = deepbelief.DeepBeliefTrainer(net1, dataset=ds)
trainer.trainEpochs(epochs)
我看到这个错误:
File "/home/WORK/Canopy_64bit/User/lib/python2.7/site-packages/PyBrain-0.3.1-py2.7.egg/pybrain/structure/connections/connection.py", line 37, in __init__
self.outSliceTo = outmod.indim
AttributeError: 'NoneType' object has no attribute 'indim'
其中有事情做与相关RBM隐藏层。
我在这里错过了什么吗?
您需要制作一个输出模块。所以addModule(输出)应该是addOutputModule(输出)。 – jay
Pybrain是非常缓慢的图书馆。我转移到了caffe或c库等其他库,这些库的速度提高了25倍甚至更多。 – pbu
而不是这个旧图书馆,我建议看一个[Theano](http://deeplearning.net/software/theano/)为基础的库,如[Blocks](https://github.com/mila-udem/)块)。 –