[英]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。
我很好奇
是否可以将其部署到某些服务器上,并可以使速度更快一些? (数据文件只有30MB,我认为可以同时上传数据和程序)。 这也可能会帮助想要使用该程序的其他人。
我可以做些什么来加快交叉验证的速度吗? 这是一种手动过程。 我使用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.