Python多进程中多参数问题

要注意的一点是:传递给进程的参数必须是可序列化的,常见的数据类型都是可序列化的,自定义的类一般是不可序列化的,(在java中有将自定类写为可序列化的方式,不知道python中有没有,懒得查了)如果需要在进程中使用自定义类的对象,而不想多次初始化,可以将自定义类对象设为全局变量。(下面方式一的 [解决办法] 链接中我曾这样试过是可以的)

方式一:每个进程使用不同的参数 x 和相同的参数 y

def work(x, y):return x + yfrom functools import partial
import multiprocessing as mp
pool = mp.Pool(3)
x = [1,2,3,4,5]
partial_work = partial(work, y=1)    # 提取x作为partial函数的输入变量
results = pool.map(partial_work, x)

这种情况也可以把 y 设置为全局变量,参见我的另一篇文章中的 解决方法

方式二:每个进程使用不同的参数x、y

def work(x_y):x = x_y[0]y = x_y[1]return x + yimport multiprocessing as mp
pool = mp.Pool(3)
x = [1,2,3,4,5,6]
y = [1,1,1,1,1,1]
x_y = zip(x, y)                     # 可以使用多个参数,只要保证每个参数长度相同,都是可迭代的即可
results = pool.map(work, x_y)

方式三:每个进程使用不同的参数 x、y

def work(x, y):return x + yfrom pathos.multiprocessing import ProcessingPoll as Pool
pool = Pool(4)
x = [1,2,3,4,5,6]
y = [1,3,1,2,1,1]
results = pool.map(work, x, y)

bug

RuntimeError: An attempt has been made to start a new process before thecurrent process has finished its bootstrapping phase.This probably means that you are not using fork to start yourchild processes and you have forgotten to use the proper idiomin the main module:if __name__ == '__main__':freeze_support()...The "freeze_support()" line can be omitted if the programis not going to be frozen to produce an executable._check_not_importing_main()

解决方法:
在main函数中调用多进程 if __name__=="__main__":

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480033.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现

网址:https://github.com/NLP-LOVE/ML-NLP 此项目是机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现,也是作为一个算法工程师必会的理论基础知识。 http://mantchs.com/ 此项目是机器学习、NLP面试中常考到的…

图Graph--拓扑排序(Topological Sorting)

文章目录1. 拓扑排序2. 算法实现2.1 Kahn算法2.2 DFS算法2.3 时间复杂度3. 应用4. 类似题目练习一个项目往往会包含很多代码源文件。编译器在编译整个项目时,需按照依赖关系,依次编译每个源文件。比如,A.cpp依赖B.cpp,那在编译时&…

SIGIR20最佳论文:通往公平、公正的Learning to Rank!

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 机智的叉烧编 | 兔子酱大家好,我是叉烧。感谢卖萌屋再次给我机会在这里分享~SIGIR2020 的 best paper 终于出炉,这次获奖论文是 Controlling Fairness and Bias in Dynamic Learn…

论文浅尝 | 基于属性嵌入的知识图谱间实体对齐方法

笔记整理:张清恒,南京大学计算机科学与技术系,硕士研究生。论文链接:https://people.eng.unimelb.edu.au/jianzhongq/papers/AAAI2019_EntityAlignment.pdf发表会议:AAAI 2019摘要近来,针对跨知识图谱&…

一篇文章了解架构师能力模型

每一个技术人都有着一个架构师的梦,希望自己有朝一日能登上技术之巅,以下结合我自己13年的从业经验,分别从架构师进阶之路、架构师能力模型(这里是亮点)、架构师技能树、架构师业务技能树谈起,完整的剖析一…

python引用自己的文件的一切问题

目录关于引入和使用方法方式一:调用另一个文件的变量和函数方式二:调用另一个文件的类关于执行顺序关于引入和使用方法 方式一:调用另一个文件的变量和函数 main.py from batch import *print("在main调用batch的变量NUM:…

首篇严肃的“BERT学”研究,40+论文对比,解读 BERT 工作原理

BERT解读(论文 TensorFlow源码):https://blog.csdn.net/Magical_Bubble/article/details/89514057?depth_1- 解读ALBERT: https://blog.csdn.net/weixin_37947156/article/details/101529943 一文揭开ALBERT的神秘面纱&#…

图Graph--最短路径算法(Shortest Path Algorithm)

文章目录1. 算法解析BFS,DFS 这两种算法主要是针对无权图的搜索算法。针对有权图,图中的每条边都有权重,如何计算两点之间的最短路径(经过的边的权重和最小)呢?像Google地图、百度地图、高德地图这样的地图软件&#x…

BAT架构师进阶:大型网站架构书籍推荐

“ 书籍推荐分为如下: 大型网站架构系列 分布式系统系列 BAT技术系列 架构设计系列 一:大型网站架构系列 第一本:《大型网站技术架构:核心原理与案例分析》 这本书主要从大型网站架构的特点,架构目标&#xff08…

FLAT:中文NER屠榜之作

本文转载自公众号“夕小瑶的卖萌屋”,专业带逛互联网算法圈的神操作 -----》我是传送门 关注后,回复以下口令: 回复【789】 :领取深度学习全栈手册(含NLP、CV海量综述、必刷论文解读) 回复【入群】&#xf…

Tensorflow实现LSTM详解

关于什么是 LSTM 我就不详细阐述了,吴恩达老师视频课里面讲的很好,我大概记录了课上的内容在吴恩达《序列模型》笔记一,网上也有很多写的好的解释,比如:LSTM入门、理解LSTM网络 然而,理解挺简单&#xff0…

论文浅尝 | 一个模型解决所有问题:实体和事件的神经联合模型

笔记整理:康矫健,浙江大学计算机科学与技术系,硕士研究生。论文链接:https://arxiv.org/pdf/1812.00195.pdf发表会议:AAAI 2019摘要 近来,针对事件抽取的工作大都集中在预测事件的triggers和arguments r…

AutoPep8-----Pycharm自动排版工具

查找pycharm中的external tool的步骤: https://jingyan.baidu.com/article/84b4f565bd39a060f6da3211.html 今天从 PyCharm 入手,写一些可以明显改善开发效率的使用技巧,一旦学会,受用一生。以下代码演示是在 Mac 环境下&#xf…

阿里P8架构师谈:java架构师面试技能24全点

1,JAVA基础扎实,理解io、多线程、集合等基础框架,对JVM原理有一定的了解,熟悉常见类库,常见java api不仅会用更能知其所以然; 2,对Spring,MyBatis/Hibernate,Struts2,SpringMVC等开源框架熟悉并且了解到它的基本原理和…

百度自然语言处理部招人啦!正式、实习都要!研究、落地都有!

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术2010年,百度自然语言处理部正式成立。十年来,百度NLP聚集了一大批兼具扎实技术实力和实践经验的AI人才,获得数十项国内外权威奖项,申请专利上千件,发…

我与导师的聊天记录

虽然导师远在马来西亚,但是每次都是很耐心的回答我的问题,真的是非常感激啦! 我就想记录下来,自己提出的问题,老师给我的解答,算是我研究生生涯的很大一部分生活了吧! 噢~ 还有就是,…

论文浅尝 | 面向知识图谱补全的共享嵌入神经网络模型

论文笔记整理:谭亦鸣,东南大学博士生,研究方向为跨语言知识图谱问答。来源:CIKM’2018链接:http://delivery.acm.org/10.1145/3280000/3271704/p247-guan.pdf?ip121.249.15.96&id3271704&accACTIVE%20SERVICE…

世界小又小,缘分很奇妙!

我发现我这个人啊可真是情绪化 突然就会很难过,难过到什么事情都不能做 有时候会很开心,开心到心情难以平复下来去做事情 现在呢!就是那个太开心了,以至于我有点点写不下去代码! 先写写小博客吧! 今天下午…

PyTorch常用代码段合集

文 | Jack Stark知乎编 | 极市平台来源 | https://zhuanlan.zhihu.com/p/104019160导读本文是PyTorch常用代码段合集,涵盖基本配置、张量处理、模型定义与操作、数据处理、模型训练与测试等5个方面,还给出了多个值得注意的Tips,内容非常全面。…