Posted on 1 Comment

在python裡面使用GPU 2 – 安裝正確的套件

前置作業

使用 GPU 來加速 Python 程式的運算需要:

  • 電腦必須要有適合的 GPU 及相關驅動程式。
  • 必須安裝支援 GPU 的 Python 程式庫,例如 TensorFlow、PyTorch 或 CuPy。
  • 在使用這些程式庫時將運算指定給 GPU 執行

安裝Tensorflow GPU版本的函式庫

在上面幾步驟都安裝好之後,要確認自己所使用的函式庫是支援GPU的,一般來說,所有的函式庫都會分為【支持GPU版本】或者【針對CPU版本】。
所以要先確定自己所下載的函式庫是支持GPU的。如果你的環境之前已經安裝過CPU版本的該函式庫,建議新增另一個虛擬環境,讓新專案的函式庫能夠完全與CPU版本的程式分開
這邊是使用pip安裝tensorflow套件的流程:https://www.tensorflow.org/install/pip?hl=zh-tw
在最下方有一個列表https://www.tensorflow.org/install/pip?hl=zh-tw#package-location

若是想要直接確定要下載的版本,可從上面的列表下載.whl檔案,然後用以下指令套用

pip install tensorflow-apu-0.0.1-cp36-cp36m-linux_x86_64.whl

檢查有沒有Tensorflow 可用的GPU

可使用下面的程式來檢查

import tensorflow as tf
print("TensorFlow version:", tf.__version__)

print("Is there a GPU available: "),
print(tf.config.list_physical_devices("GPU"))

print("Is the Tensor on GPU #0:  "),
print(x.device.endswith('GPU:0'))

要注意的是,即使你的GPU和驅動程式都正確,但若是安裝到錯誤的函式庫版本(如CPU版本的tensorflow)
這邊仍然會顯示沒有可以使用的GPU

因此,要確認所安裝的函式庫版本是否正確

檢查並設定使用GPU

要在 TensorFlow 中使用 GPU,你需要先檢查有沒有可用的 GPU,並設定 TensorFlow 使用 GPU:

import tensorflow as tf

# 檢查有沒有可用的 GPU
print(tf.config.list_physical_devices('GPU'))

# 設定 TensorFlow 使用 GPU
tf.config.set_visible_devices(tf.config.list_physical_devices('GPU')[0], 'GPU')

要在 PyTorch 中使用 GPU,你可以使用 torch.cuda.is_available() 來檢查有沒有可用的 GPU,並使用 .to(‘cuda’) 將張量放到 GPU 上運算:

import torch

# 檢查有沒有可用的 GPU
print(torch.cuda.is_available())

# 將張量放到 GPU 上運算
x = torch.ones((2, 2), device='cuda')
print(x)

在 CuPy 中使用 GPU 也類似,你可以使用 cp.cuda.Device().id 來檢查有沒有可用的 GPU,並使用 .to_gpu() 將陣列放到 GPU 上運算:

import cupy as cp

# 檢查有沒有可用的 GPU
print(cp.cuda.Device().id)

# 將陣列放到 GPU 上運算
x = cp.ones((2, 2))
x = x.to_gpu()
print(x)

1 thought on “在python裡面使用GPU 2 – 安裝正確的套件

  1. […] 1. 在python裡面使用GPU 1 – 選擇適合的GPU 2. 在python裡面使用GPU 2 – 安裝正確的套件 3. 在python裡面使用GPU 3 – 開發GPU程式 […]

Comments are closed.