我有一个基于python的人脸识别脚本,它运行几个进程(线程?)都在做不同的事情。一旦训练图像被更改/更新,我试图使用其中一个来重新训练模型。
我尝试通过python管道函数发送模型:
pipe.send(model)
我没有遇到任何例外,它只是无限期地挂在那里。
我担心这个模型要么是不可打击的,要么就是太大了!
答案 0 :(得分:1)
multiprocessing
使用pickle
(或cPickle
,具体取决于版本)。你试过像这样检查吗?
>>> import pickle
>>> pik = pickle.dumps(model)
>>> _model = pickle.loads(pik)
如果成功,则可由pickle
序列化。如果不是,您可以尝试使用功能更强大的序列化程序,以及使用更好的序列化程序(multiprocessing
和dill
)的pathos.multiprocessing
分叉。