1. 程式人生 > >[轉載]什麽情況下應該設置 cudnn.benchmark = True?

[轉載]什麽情況下應該設置 cudnn.benchmark = True?

eight iter font imp ron end 高效算法 pre bsp

總的來說,大部分情況下,設置這個 flag 可以讓內置的 cuDNN 的 auto-tuner 自動尋找最適合當前配置的高效算法,來達到優化運行效率的問題。

一般來講,應該遵循以下準則:

  1. 如果網絡的輸入數據維度或類型上變化不大,設置 torch.backends.cudnn.benchmark = true 可以增加運行效率;
  2. 如果網絡的輸入數據在每次 iteration 都變化的話,會導致 cnDNN 每次都會去尋找一遍最優配置,這樣反而會降低運行效率。

[轉載]什麽情況下應該設置 cudnn.benchmark = True?