无法泡菜包装类对象



全部,我正在尝试使用多处理并平行一些代码,并且我已经删除了我的代码,以便评论我的主类的行

self.obs = Observer(self.guess)

导致系统无误差。如果我写

obs = Observer(self.guess)

它有效,但是如果我写self.obs,我会得到

TypeError: can't pickle Observer objects

这是我要导入的整个课程。它只是Ephem.Observer的包装器,导入时具有相同的错误。

import numpy as np 
from req import SETTINGS
from req.helpers import load_db, pack_into_vector, create_observer 
class Observer:
        def __init__(self, beta=np.zeros((2,))):
            self.observer = create_observer(beta)
            return
        def __getstate__(self):
            return {'observer': self.observer}

错误发生在p.start()上

p = Process(target=selector,args=(first_guess, recording_queue, guess_queue))

我实际上解决了这个问题。我想问题是我选择类别类的所有自我.___方法/属性。我使用创建和运行选择器类的INIT方法创建了一个其他类,Selector_wrapper。这很好。

总而言之,创建一个包装类别类别,没有其他方法,而没有属性,请解决问题!

相关内容

  • 没有找到相关文章

最新更新