Như các bạn đã biết Keras chỉ hỗ trợ CUDA trên các GPU của NVIDIA, còn các GPU khác thì sao ? Thật may bởi vì Vertex AI đã tạo ra PlaidML là một ” tensor compiler ” cho phép chúng ta chạy các Deeplearing framework trên nhiều nền tảng, ví dụ như Keras có thể sử dụng trên các GPU mà không yêu cầu phải có CUDA nhưng vẫn duy trì được hiệu suất tương đương.
Cấu hình của máy mình đang sử dụng:
- Windows 10
- GPU AMD Adeon RX 560X
Bước 1: Cài đặt Tensorflow và Keras
Bật Anaconda Prompt ( Run as Administrator )
Sử dụng lệnh
1 2 3 | conda install -c conda-forge tensorflow conda install -c conda-forge keras |
Bước 2: Cài đặt PlaidML
Tiếp tục sử dụng lệnh bên dưới
1 2 | pip install plaidml-keras plaidbench |
Bước 3: PlaidML Setup
Sau khi đã cài đặt, PlaidML cần phải cấu hình lại phù hợp với phần cứng.
Dùng lệnh
1 2 | plaidml-setup |
Ở đây, nó sẽ đưa ra tất các các lựa chọn phần cứng mà Keras có thể chạy trên đó ( ở đây máy của mình có 3 lựa chọn : CPU , GPU onboard và GPU Radeon RX 560x)
PlaidML sẽ hỏi bạn : Enable experimental device support? (y,n) . Chọn Yes
Ở đây bạn chọn phần cứng để Keras chạy trên đó ( mình chọn số 2 nghĩa là GPU Radeon RX 560x )
Vậy là bạn đã có thể chạy Keras trên GPU của AMD rồi
Bước 4: Code thôi
Thêm dòng code dưới đây vào đầu
1 2 3 | import plaidml.keras plaidml.keras.install_backend() |
Các bạn có thể dùng đoạn code train một convnet đơn giản trên MNIST dataset ở github để xem sự thay đổi nhé