關於什么是鎖頁內存:
pin_memory就是鎖頁內存,創建DataLoader時,設置pin_memory=True,則意味着生成的Tensor數據最開始是屬於內存中鎖頁內存,這樣將內存的Tensor轉義到GPU的顯存就會更快一些。
主機中的內存,有兩種存在方法,一是鎖頁,二是不索頁,鎖頁內存存放的內容在任何情況下都不會與主機的虛擬內存進行交換(注:虛擬內存就是硬盤),而不鎖頁內存在主機內存不足時,數據會存放在虛擬內存中。顯卡中的顯存全部是鎖頁內存,當計算機的內存充足的時候,可以設置pin_memory=True。當系統卡主,或者內存使用過多的時候,設置pin_memory=False。因為pin_memory與電腦硬件性能有關,pytorch開發者不能確定每一個煉丹玩家都有高端設備,因此pin_memory默認設置為False.
原文鏈接:https://blog.csdn.net/yangwangnndd/article/details/95385628
