您好,登錄后才能下訂單哦!
今天小編給大家分享一下模型訓練時GPU利用率太低如何解決的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
最近在訓練SSD模型時發現GPU的利用率只有8%,而CPU的利用率卻非常高。
后來了解到,一般使用CPU進行數據的讀取和預處理,而使用GPU進行模型的正向傳播和反向傳播。由于CPU數據讀取跟不上(讀到內存+多線程+二進制文件),而GPU的處理速度太快,導致GPU的利用率不高。
最后總結一下,有的時候模型訓練慢并不是因為顯卡不行或者模型太大,而是在跑模型過程中有一些其他的操作導致速度很慢,尤其是文件的IO操作,這會導致GPU得不到連續性使用,整體速度特別慢。
1,關閉一些日志記錄,減少日志IO操作頻率。
2,NVIDA提供了DALI庫,可以將數據處理轉移到GPU上。
GPU 的顯存占用和算力利用直接影響模型的訓練速度
1、提高batch_size
2、提高模型輸入尺寸
3、增加模型深度
推薦:優先提高batch_size, 其他方法會對模型結構產生影響
1、提高線程數
2、打開pin_memory
# 在pytorch 加載數據時提高線程數,打開pin_memory torch.utils.data.DataLoader(image_datasets[x], batch_size=batch_size, shuffle=True, num_workers=8, pin_memory=True)
以上就是“模型訓練時GPU利用率太低如何解決”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。