Skip to content

Python

[PyTorch] 將模型刪除後,釋放 GPU / CPU 的記憶體空間

問題描述

昨晚,我在改進一段將模型融合的程式碼時,由於個人設備資源不足,我採取分層合併的方法,一次只取一層的記憶體進行合併,以此減少系統同時保存的模型記憶體大小。然而,我發現模型雖然在 GPU 中的記憶體很容易被刪除、但是 CPU 中的記憶體被回收是十分不容易的。這涉及到了 Python 的資源回收器的設計。

Read More »[PyTorch] 將模型刪除後,釋放 GPU / CPU 的記憶體空間

[已解決][PyTorch] 編譯(compile)後模型權重多出 “_orig_mod” 的前綴問題

問題描述

在 2023 年初,PyTorch 的 2.0 版本新增了一個 torch.compile() 的新功能,讓我們能夠在模型訓練/推理時能夠進一步提昇速度。與混合精度訓練的協同工作,經常能使我的訓練速度提昇一倍左右。

Read More »[已解決][PyTorch] 編譯(compile)後模型權重多出 “_orig_mod” 的前綴問題

[已解決] RuntimeError: OrderedDict mutated during iteration – OrderedDict 不能在迭代時發生變化

問題描述

今天我在讀取已經被 torch.compile() 之後儲存起來的模型權重,發現模型權重是使用 OrderedDict 資料結構儲存著,而這種結構本身是有序序列,換言之它的資料內容是需要嚴格遵守排序的。

Read More »[已解決] RuntimeError: OrderedDict mutated during iteration – OrderedDict 不能在迭代時發生變化