在使用进程池时,遇到了如下错误: multiprocessing.pool.MaybeEncodingError: Error sending result:

I’mready 2020-06-05 11:41:04
在使用进程池时,遇到了如下错误:
multiprocessing.pool.MaybeEncodingError: Error sending result: '<multiprocessing.pool.ExceptionWithTraceback object at 0x0000022149D84F98>'. Reason: 'TypeError("cannot serialize '_io.BufferedReader' object",)'
在stackoverflow搜索了一些答案,但是感觉和我这个情况不是很像
https://stackoverflow.com/questions/48761983/multiprocessing-pool-maybeencodingerror-error-sending-result-reason-typeerro
https://stackoverflow.com/questions/54736710/multiprocessing-pool-maybeencodingerror-typeerrorcannot-serialize-io-buffe?noredirect=1
这里数据集是论文的一些信息,process_paper主要是针对作者论文信息构建一些特征,以下是数据来源:
https://www.biendata.xyz/competition/chaindream_nd_task1/
def pre_process_pubs(pubs, save_path, pl):
papers = pl.starmap(process_paper, zip(pubs.values()))
paper_ids = list(pubs.keys())
pubs = dict(zip(paper_ids, papers))
json.dump(pubs, open(save_path, 'w'), indent=4)
if __name__ == '__main__':
pool = mlp.Pool(4)
# 训练集
_, pub = load_original_train(0, 1)
pre_process_pubs(pub, './data/preprocess_pubs/cleaned_train_pubs.json', pool)
del pub
# 验证集
pub = json.load(open('./data/OAG-v2-track1/valid/sna_valid_pub.json', 'r', encoding='utf-8'))
pre_process_pubs(pub, './data/preprocess_pubs/cleaned_test_pubs.json', pool)
del pub
pool.close()
第一次用进程池,现在完全不知道从哪里下手去找问题,希望有大佬能解答。
...全文
1379 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_33804250 2020-12-31
  • 打赏
  • 举报
回复
楼主你怎么解决的,我也出现同样的问题
I’mready 2020-06-09
  • 打赏
  • 举报
回复
自己来回答一波,这个是因为在代码中指定百度翻译对文本进行翻译,但是有的翻译URL太长了打不开。

250

社区成员

发帖
与我相关
我的任务
社区描述
其他产品/厂家
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧