簡體   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