Как провести контролируемое обучение глубокому убеждению в PyBrain?

У меня возникли проблемы с тем, чтобы DeepBeliefTrainer работал с моими данными в PyBrain/Python. Поскольку я не могу найти никаких примеров, кроме неконтролируемых, о том, как использовать глубокое обучение в PyBrain, я надеюсь, что кто-то может привести примеры, которые покажут базовую концепцию использования.

Я попытался инициализировать, используя:

epochs = 100
layerDims = [768,100,100,1]

net = buildNetwork(*layerDims)
dataset = self.dataset
trainer = DeepBeliefTrainer(net, dataset=dataSet)
trainer.trainEpochs(epochs)

Я пытаюсь использовать SupervisedDataset для регрессии, но обучение просто не удается. Кому-нибудь удалось использовать тренера по глубокому обучению для контролируемого машинного обучения? И как ты это сделал?

Ошибка, которую я получаю:

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

person user822448    schedule 01.03.2013    source источник


Ответы (1)


Это потому, что ваша исходная сеть: net = buildNetwork(*layerDims) не имеет слоя с именем видимого слоя в вашей глубокой сети убеждений, которая является «видимой». Итак, чтобы найти его в исходной сети, вы можете сделать что-то вроде:

net.addInputModule(LinearLayer(input_dim, 'visible'))
[...]
trainer = DeepBeliefTrainer(net, dataset=dataSet)
person persona-non-data    schedule 18.08.2013