Bài viết này hướng dẫn cách cài đặt Tensorflow GPU để sử dụng sức mạnh xử lý song song của GPU NVDIA và các kiến thức lý thuyết. Hy vọng bài viết này sẽ giúp các bạn cài đặt dễ dàng & nếu gặp lỗi thì cũng dễ dàng giải quyết.
Tensorflow cài qua package python thì có 2 package name là tensorflow và tensorflow-gpu. Và nhìn tên chúng ta cũng hiểu là để sử dụng GPU thì cần cài tensorflow-gpu. Mặc dù khác nhau package name nhưng khi sử dụng thì các namespace vẫn giống nhau.
Các bước thực hiện
- Bước 1: xác định phiên bản CUDA và cuDNN phù hợp với phiên bản Tensorflow của bạn
- Bước 2: kiểm tra GPU NVIDIA có phù hợp với Tensorflow và CUDA không?
- Bước 3: cài đặt CUDA
- Bước 4: cài đặt cuDNN
- Bước 5: cài đặt package tensorflow-gpu
- Bước 6: kiểm tra tensorflow-gpu có nhận GPU không?
Lưu ý: bài viết này sử dụng cho PC hoặc laptop có các thông số như sau:
OS: Windows 10 build 2004
CPU: Intel Core i5 2500
RAM: 16GB
GPU: NVIDIA RTX 2060 6GB VRAM
Python: 3.7.3
Tensorflow-gpu: 2.6.0
CUDA: 11.2
cuDNN: 8.1.1
Bước 1: xác định phiên bản CUDA và cuDNN phù hợp với phiên bản Tensorflow của bạn
Các bạn vào link để xem phiên bản phù hợp nhất với Tensorflow: https://www.tensorflow.org/install/source#gpu.
Mình sử dụng Tensorflow-gpu 2.6.0, trong đó phiên bản Python recommend là 3.6 đến 3.9, mình đang sử dụng Python 3.7.3 => hợp lệ. Phiên bản CUDA phù hợp là CUDA 11.2 và cuDNN 8.1.
Tiếp tục tìm phiên bản CUDA và cuDNN phù hợp tại 2 link sau: https://developer.nvidia.com/cuda-toolkit-archive và https://developer.nvidia.com/rdp/cudnn-archive
Đối với CUDA 11.2 thì download 1 trong 3 version trên đều được.
Đối với cuDNN thì download phiên bản phù hợp với CUDA 11.2, như hình trên ta thấy có 2 phiên bản phù hợp là cuDNN 8.1.0 và 8.1.1, các bạn download bản nào cũng được.
Tuy nhiên đừng vội download, hãy kiểm tra bước 2 trước khi download
Bước 2: kiểm tra GPU NVIDIA có phù hợp với Tensorflow và CUDA không?
Giả sử bạn có GPU NVIDIA GTX 660, tìm trong trang https://developer.nvidia.com/cuda-gpus được kết quả Compute Capability là 3.0 như hình dưới
Theo hardware requirement của Tensorflow thì support 3.5 trở lên, do đó GTX 660 không thể chạy được Tensorflow GPU
Nếu GPU của bạn support thì tiếp tục các bước tiếp theo
Bước 3: cài đặt CUDA
Các bạn download CUDA phù hợp và cài đặt như 1 phần mềm thông thường tại link: https://developer.nvidia.com/cuda-toolkit-archive
Sau khi cài đặt thành công:
Bước 4: cài đặt cuDNN
CuDNN là thư viện hỗ trợ Deep Learning trên GPU, việc cài đặt cuDNN chỉ đơn giản là giải nén rồi copy vào folder cài đặt CUDA là được. Với CUDA 11.2 thì copy các file vào C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2
Sau khi copy xong thì restart lại máy tính.
Bước 5: cài đặt package tensorflow-gpu
Dùng pip cài đặt package
pip install tensorflow-gpu==2.6.0
Bước 6: kiểm tra tensorflow-gpu có nhận GPU không?
có vài function để test trong python
import tensorflow as tf
tf.test.is_built_with_cuda()
hoặc
import tensorflow as tf
tf.config.list_physical_devices('GPU')
Như hình trên là ok, chúc các bạn thành công