我正在使用多模操作numpy的阵列和正在运行到一个问题,尝试一些我已经越过这里运行代码。 具体来说,我创建从numpy的数组一个ctypes数组,然后试图将ctypes的阵列返回到numpy的阵列。 下面是代码:
shared_arr = multiprocessing.RawArray(_numpy_to_ctypes[array.dtype.type],array.size)
我不需要任何同步锁的,所以我用RawArray。 所述ctypes的数据类型是从基于输入阵列的D型细胞的字典拉动。 这是工作奇妙。
shared_arr = numpy.ctypeslib.as_array(shared_arr.get_obj())
在这里,我得到一个堆栈跟踪,指出:
AttributeError: 'c_double_Array_16154769' object has no attribute 'get_obj'
我也曾尝试从以下这篇文章 ,但得到相同的错误。
def tonumpyarray(shared_arr):
return numpy.frombuffer(shared_arr.get_obj())
我坚持运行的Python 2.6,不知道如果是这样的问题,如果是与共享变量名(我想保持内存使用尽可能低的问题,我尽量不重复numpy的阵列和ctypes的在存储阵列),或别的东西,因为我刚开始学习关于Python的这一部分。
建议?