Найти - Пользователи
Полная версия: pickle, pybrain, проблемы с загрузкой
Начало » Python для новичков » pickle, pybrain, проблемы с загрузкой
1
Senhion
День добрый.
модуль 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
>>>

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

Возможно ли попросить модератора, переместить тему в другую ветку, если в это ни кто не сможет ответить?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB