我将scipy.spatial.ckdtree.cKDTree
进行了子分类,以扩展其功能。我当前实现它的方式无法正确腌制和解开(序列化)此子类的实例,而我需要将该类与multiprocessing
一起使用。
class ccKDTree(cKDTree):
__doc__ = cKDTree.__doc__
def __init__(self, *args, **kwargs):
super(ccKDTree, self).__init__(*args, **kwargs)
def query_hypershell_point(self, *args):
"""
Do some stuff with the cKDTree
"""
return some_data
拾取和取消拾取此对象的实例,但是会将数据类型更改为其父类scipy.spatial.ckdtree.cKDTree
。毫不奇怪,调用方法query_hypershell_point
会抛出一个AttributeError
。
我的感觉是我必须与__get/setstate__
合作,但是我不知道该怎么做。