[英]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.