def combine_preds_2_csv(preds1, preds2, fn_out='/tmp/combo.csv', wgts=None):
t1 = datetime.now()
print('start combination at ', t1)
executor = futures.ProcessPoolExecutor(max_workers=6)
add_pred_series_wgts = functools.partial(add_pred_series, wgts=wgts)
preds1 = sorted(preds1, key=lambda x: x[0])
preds2 = sorted(preds2, key=lambda x: x[0])
t2 = datetime.now()
print('sorted preds2 at ', t2)
lines = executor.map(add_pred_series_wgts, zip(preds1, preds2))
t2 = datetime.now()
print('finished adding lines at ', t2)
#print('Lines processed: {}'.format(len(lines)))
cnt = 0
with open(fn_out, 'w') as fout:
fout.write('VideoId,LabelConfidencePairs\n')
for line in lines:
fout.write(line+'\n')
cnt += 1
print('{} prediction lines were written to {}'.format(cnt, fn_out))
t3 = datetime.now()
print('finished combination at', t3)
print('Total run time: {}'.format(t3 - t1))
return None
评论列表
文章目录