Pythons多进程模块(带有dill)给出了一个毫无帮助的断言错误

Pythons多进程模块(带有dill)给出了一个毫无帮助的断言错误,python,parallel-processing,pickle,dill,pathos,Python,Parallel Processing,Pickle,Dill,Pathos,我已经安装了dill/paths及其依赖项(有点困难),我正在尝试通过几个进程执行一个功能。类/属性模型(self.xml,self.exp_data,i).SSR是定制的,依赖于其他定制函数的加载,因此我为无法提供“可运行”代码而提前道歉。然而,简而言之,它需要一些实验数据,将ODE系统与python的pysces模块集成,并计算平方和(SSR)。并行化此代码的目的是使用多个参数集加速此计算 守则: import multiprocess def evaluate_chis

我已经安装了dill/paths及其依赖项(有点困难),我正在尝试通过几个进程执行一个功能。类/属性
模型(self.xml,self.exp_data,i).SSR
是定制的,依赖于其他定制函数的加载,因此我为无法提供“可运行”代码而提前道歉。然而,简而言之,它需要一些实验数据,将ODE系统与python的pysces模块集成,并计算平方和(
SSR
)。并行化此代码的目的是使用多个参数集加速此计算

守则:

    import multiprocess  
    def evaluate_chisq(pop):

        p = multiprocess.Pool(8)
        res= p.map(lambda i:Model(self.xml,self.exp_data,i).SSR   ,  pop)#calcualteSSR with this parameter set
        return res
我收到的错误消息是:

  File "C:\Anaconda1\lib\site-packages\multiprocess\pool.py", line 251, in map
    return self.map_async(func, iterable, chunksize).get()

  File "C:\Anaconda1\lib\site-packages\multiprocess\pool.py", line 567, in get
    raise self._value

AssertionError
然后我尝试使用
map\u async

        def evaluate_chisq(pop):
            p = multiprocess.Pool(8)
            res= p.map_async(lambda i:Model(self.xml,self.exp_data,i).SSR   ,  pop)#calcualteSSR with this parameter set
            return res
它返回一个
对象,当我尝试使用
MapResult
的“get”方法时,该对象会给出相同的错误

  File "C:\Anaconda1\lib\site-packages\multiprocess\pool.py", line 567, in get
    raise self._value

AssertionError

有人知道我做错了什么吗

在Windows上,您需要从
\uuuu main\uuu
使用
冻结\u支持


请参阅。

在Windows上,您需要从
\uuu main\uuu
使用
冻结\u支持


请参阅。

我是
dill
multi-process
pathos
的作者。看起来你在windows上。您正在使用多进程冻结支持吗?这在Windows上的某些情况下是必需的。嗨,Mike,是的,我使用的是Windows 7,没有。我没有尝试过
freeze\u support
。事实上,这是我的第一次并行编程,所以我仍然在寻找最好的方法。但是谢谢你的回复。我来看看冻结支持。我是
dill
multi-process
pathos
的作者。看起来你在windows上。您正在使用多进程冻结支持吗?这在Windows上的某些情况下是必需的。嗨,Mike,是的,我使用的是Windows 7,没有。我没有尝试过
freeze\u support
。事实上,这是我的第一次并行编程,所以我仍然在寻找最好的方法。但是谢谢你的回复。我来看看冻结支持。