Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 4, 2015 19:00:26

Senhion
Зарегистрирован: 2012-08-13
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

pickle, pybrain, проблемы с загрузкой

День добрый.
модуль pickle не может правильно загрузить объект pybrain.
т.е. после загрузки “сетка” перестает тренироваться.
например:

import pickle
from pybrain.tools.shortcuts import buildNetwork
from pybrain.datasets import SupervisedDataSet
from pybrain.supervised.trainers import BackpropTrainer
class summator():
    def __init__(self):
        self.x = []
        self.net = buildNetwork(2,5,5,1)
        self.ds =  SupervisedDataSet(2,1)
        self.ds.addSample([1,1],1)
        self.ds.addSample([0,0],1)
        self.ds.addSample([1,0],0)
        self.ds.addSample([0,1],0)
        
        self.trainer = BackpropTrainer(self.net, self.ds)
    def add(self, dx):
        self.x.append(dx)
    def GetData(self):
        return self.x
    def Save(self, filename):
        pickle.dump(self, open(filename,'wb'))
    def TrainNet(self):
        res = self.trainer.train()
        return res

и после запуска делаем следующее

>>> a = summator()
>>> a.TrainNet()
0.61932256419312537
>>> a.TrainNet()
0.52224738939510462
>>> a.Save('x.xx')
>>> a = 0
>>> with open('x.xx','rb') as xfile:
a = pickle.load(xfile)


>>> a.TrainNet()
0.46746910805434289
>>> a.TrainNet()
0.46746910805434289
>>> a.TrainNet()
0.46746910805434289
>>> a.TrainNet()
0.46746910805434289
>>> a.TrainNet()
0.46746910805434289
>>> a.TrainNet()
0.46746910805434289
>>>

и как мы видим после загрузки функция тренировки сети не работает. Почему??

Офлайн

#2 Июнь 6, 2015 17:49:06

Senhion
Зарегистрирован: 2012-08-13
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

pickle, pybrain, проблемы с загрузкой

Господа, если есть уточняющие вопросы, то не стесняемся задавать, или хотя бы предположения, или хотя бы аналогичные примеры когда pickle не может выполнить свою функцию.

Возможно ли попросить модератора, переместить тему в другую ветку, если в это ни кто не сможет ответить?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version