Форум сайта python.su
0
День добрый.
модуль 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
>>>
Офлайн
0
Господа, если есть уточняющие вопросы, то не стесняемся задавать, или хотя бы предположения, или хотя бы аналогичные примеры когда pickle не может выполнить свою функцию.
Возможно ли попросить модератора, переместить тему в другую ветку, если в это ни кто не сможет ответить?
Офлайн