亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通過同時和順序運行來加速 python 腳本

如何通過同時和順序運行來加速 python 腳本

qq_花開花謝_0 2024-01-24 15:49:48
我有一個優化程序(目前是一個 jupyter 筆記本,將優化本身外包給 gurobi 云),我需要運行它的多次迭代。到目前為止,我已經嘗試在一夜之間同時運行同一腳本的多個版本。然而,這對我的計算機造成了負擔(即,它崩潰了一兩次,并且早上響應速度非常慢),并且似乎導致我的程序在啟動后大約 7 小時、完成之前失敗。(該程序不會拋出錯誤消息;它似乎只是停止產生優化輸出。當我嘗試減少同時運行時,這種情況似乎會減少。)我懷疑我的部分問題是我的內存變滿了。我想知道如果我并行和順序運行我的腳本是否會取得更大的成功,這樣內存就會被清除。不過,我顯然是計算機性能方面的新手,因此建議很有幫助。我目前的情況是這樣的:晚上 8 點,我開始并行運行腳本 A 和 B,每個腳本都包含 100 個單獨的優化(作為 for 循環的一部分)。這似乎將所有 100 個優化的輸出保留在內存中直到早上,這似乎大大減慢了我的計算機速度并消耗了大量存儲空間(在我重新啟動計算機后,這些存儲空間再次空閑)。相反,我想知道將 A 拆分為 A1(前 50 項優化)和 A2(后 50 項優化),將 B 拆分為 B1 和 B2,然后運行 A1 和 B1 是否會提高計算機的性能與 A2 和 B2 并行,設置為在 A1 和 B1 完成后運行。有人可以建議這是否會提高我的表現嗎?
查看完整描述

1 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

我不確定具體的文件分割,但這里有一些其他值得嘗試的事情,

  1. 減少線程數

  2. 設置求解方法=1,這是 gurobi 建議在內存緊張的情況下執行的操作

  3. 將nodefilestart參數設置為較小的值

然而,這些都會在模型運行時減少內存。另一件事是減少存儲的模型數量。從技術上講,這應該自動發生,但我想我過去已經看到它失敗了。del model在這種情況下,您可以嘗試在循環結束之前明確刪除模型,然后再開始下一個循環。


查看完整回答
反對 回復 2024-01-24
  • 1 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號