繁体   English   中英

如何加快在Jupyter Notebook中创建的程序的速度?

[英]How can I speed up my program created in Jupyter Notebook?

我有一个在Jupter Notebook中创建的python程序。 由于我使用的数据大小和优化算法,在某个范围内进行4倍自定义交叉验证大约需要30分钟才能完成。

我的计算机的环境:CPU i5 3.3 GHz,8 GB DDR3 RAM,SSD。

我很好奇

  1. 是否可以将其部署到某些服务器上,并可以使速度更快一些? (数据文件只有30MB,我认为可以同时上传数据和程序)。 这也可能会帮助想要使用该程序的其他人。

  2. 我可以做些什么来加快交叉验证的速度吗? 这是一种手动过程。 我使用sklearn.cross_validation.KFold提取训练和测试集。 然后,我遍历每一个折叠以构建模型并测试其结果。 我不确定是否可以封装我的模型构建方法并在parrallel中执行交叉验证?

1:有一些付费的HPC服务器,例如Amazon,但这对SO来说不是主题。

2:交叉验证的迭代可以并行完成。

由于交叉验证未连接,因此我建议如下所示:

import multiprocessing

def validation_function(args):
    do_validation
    ...
    ...

p = multiprocessing.Pool(processes=multiprocessing.cpu_count()) 
for _ in p.imap_unordered(validation_function, args):
    pass

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM