我家里有兩臺電腦用于我的 python 專案。一臺是配備 Intel i5-7400 CPU 的 PC,另一臺是配備 Intel i7-10750H CPU 的筆記本電腦。據推測,筆記本電腦比 PC 運行相同的 Python 代碼更快。在我對筆記本電腦進行一些更改以嘗試利用其 Nvida GPU 來訓練 DNN 模型之前,情況就是如此。
我按照 Tensorflow GPU 支持網頁的說明升級 Nvida GPU 驅動程式,安裝 Cuda 工具包和 cuDNN 推薦版本。安裝后,我創建了一個新的 conda 環境并安裝了最新的 tensorflow。有了這一切,我可以檢測我的 GPUtf.config.list_physical_devices()并在GPU 上運行一些測驗代碼。然而,性能并沒有提升,更糟糕的是,筆記本電腦在其 CPU 上運行相同代碼的速度明顯變慢。我在兩臺機器上測驗了以下簡單代碼:
from datetime import datetime
import numpy as np
t0 = datetime.now()
for i in range(1000):
a = np.random.rand(1000, 1000)
b = np.random.rand(1000, 1000)
c = np.matmul(a, b)
t1 = datetime.now()
print(t1 - t0)
PC 在 32 秒內運行它,但筆記本電腦需要 45 秒。我嘗試了一些方法來解決這個問題,包括卸載 Cuda 工具包/cuDNN 并重新安裝 anaconda(嘗試了不同的 anaconda 版本)。但問題仍然存在。任何人都對為什么會發生這種情況以及如何嘗試解決這個問題有任何見解?非常感謝。
更新:我注意到,如果在 PC 的英特爾 i5-7400 CPU 上運行,相同的 python 代碼使用大約 30% 的 CPU,但使用超過 90% 的 CPU,如果在筆記本電腦英特爾 i7-10750H CPU 上運行速度會更慢。正常嗎?
uj5u.com熱心網友回復:
這可能不是您的主要問題,但是,您的筆記本電腦使用電池運行嗎?筆記本電腦會降低性能以節省電池壽命
uj5u.com熱心網友回復:
有很多原因需要考慮。首先,您正在破壞的代碼根本不使用 GPU。這都是關于 CPU 控制油門的。基本上,作為“熱管理”的一部分,筆記本電腦的 CPU 功率限制油門是不斷受到控制的。事實是 CPU 運行代碼的速度比 GPU 快。因此,在運行程式所需的大部分時間里,您的筆記本電腦可能會達到熱限制并減慢速度。也許你的 PC CPU 能夠抑制這個油門,所以它完成得更快一些。
一旦檢查基準測驗您的代碼。一個精彩的說明在這里回傳 https://stackoverflow.com/a/1593034/15358800
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/360320.html
