踩過了好多坑之后我只能說網上的大部分教程都太老了,不適合RTX30系顯卡,其實正確的方法比那些老方法簡單的多,重要的是你顯卡是新的,軟件版本也一定要新
一、安裝CUDA與cuDNN
- 首先確保你已經安裝了新版的nvidia圖形驅動程序。其次你得有C/C++編譯環境,沒有的話裝一個Visual Studio或MinGW。
- 安裝CUDA Toolkit 11.3
- 下載CUDNN 11.3,將解壓后的全部文件復制到CUDA的安裝目錄中(默認:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\)。
- 進入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\extras\demo_suite中,在命令行運行deviceQuery.exe和bandwidthTest.exe,如果運行后顯示pass則表示CUDA及CUDNN成功安裝。
二、安裝python3.8
直接在官網下載安裝,或用conda安裝。
三、安裝Tensorflow
3.1 安裝
一定要用 pip 安裝,別用conda
pip install tensorflow
因為新版tensorflow同時包含cpu和gpu支持,所以是tensorflow而不是tensorflow-gpu。別指定2.0或2.3版本,就默認新版的,老版本有bug。
3.2 測試
進入python命令行,執行以下代碼,最后顯示 “True”即說明已支持gpu。
import tensorflow as tf print(tf.test.is_gpu_available()) |
以下是一段來自tensorflow官網的示例代碼,看看能否執行成功
import tensorflow as tf mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation='softmax') ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5) model.evaluate(x_test, y_test) |