python运行不了程序代码_python多进程程序一直在运行却不出结果,求大佬改进

各位大佬好,我用如下的代码进行文本之间的相似度计算(其中相似度计算的代码未附),由于文本量非常大,要进行一一对比计算相似度,非常耗时,用如下多进程方式改进,程序如图界面报错bVbyNyp-1411x719.png!

应该是我在``

rl =pool.map(deal_many_data,'tt',data_all)

`这句代码上传参有问题,请问该如何修改?其中data_all的格式如图bVbyNsL-1011x431.png`

待匹配文本列表data3的格式如图所示,bVbyNtc-1281x415.png

`

请问该如何调整,多谢大佬。

def deal_many_data(threadName,data_all,list1):

for key,v in data_all.items():

sim_all = 0

count = 0

sim3 = 0 #判断前两个是否相似不相似则跳出

if len(data_all[key]['content']) >= 10:

newlist = random.sample(list(range(0,len(data_all[key]['content']))),10)

else:

newlist = list(range(0,len(data_all[key]['content'])))

for index in newlist:

data = data_all[key]['title'][index] + data_all[key]['content'][index]

sim = sentence_similarity(data,new_data)

sim_all += sim

count += 1

list1[int(key)] = sim_all / count

print ("%s: %s" % ( threadName, key ))

from multiprocessing import Process, Manager

from multiprocessing import Pool

if __name__ == '__main__':

db,data_all,data2 = load_data()

data3 =data2[:10]

start_time=time.time()

for item in data3:

title = item['autn:content']['DOCUMENT']['DRETITLE']['$'].strip().replace(' ','')

content = item['autn:content']['DOCUMENT']['DRECONTENT']['$'].strip().replace('\n','').replace(' ','')

list1 = [0] * (len(data_all)+1)

new_data = title + ' ' + content

with Manager() as manager:

#list1 = manager.list1

pool = Pool(5) #创建拥有5个进程数量的进程池,假设核数就是4个,轮询处理4个,

rl =rl =pool.map(deal_many_data,'tt',data_all)#传递主运行函数,待循环变量为字典格式数据data_all,待修改共享数据变量list1

pool.close() #关闭进程池,不再接受新的任务

pool.join() #主进程阻塞等待子进程的退出

end = time.time()

print ('finally cost time %ss'%(end-start_time))`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值