Mac 的 AMD 顯卡於 Keras 加速解法 – PlaidML

Apple 近幾年所推出的 MacBook Pro / iMac / Mac mini…. 都是 AMD 的顯卡,沒有 Nivida
且 Nvidia 最近也沒什麼官方支援 Mac 的 Driver 了 ( 所以透過 eGPU 來在 Mac 上使用 NV 卡好像不是太好的選擇 )

然而 Tensorflow 之類的 Tool 都是使用 CUDA 來加速的
( Google 官方也移除了 Mac 上的 tensorflow-gpu )
讓 MacBook Pro 的 AMD User 好像覺得只能使用 CPU….
空有強大的顯卡卻無用武之地
( 本人的 MacBook Pro 是使用 Radeon Pro 系列… 另外在 Mac 上 AMD 應該沒啥驅動的問題 )

但是如果是使用 Keras 且配 AMD 卡的人就不用擔心了
因為今天要說的就是如何使用 Keras + AMD GPU ( Mac 上還有 Metal ) 的解決方法 就是使用 PlaidML
https://github.com/plaidml/plaidml 使用上很簡單
直接 pip 安裝,ex :
pip3 install plaidml-keras plaidbench

然後輸入指令
plaidml-setup
會看到類似以下資訊
Default Config Devices:
   No devices.

Experimental Config Devices:
   llvm_cpu.0 : CPU (LLVM)
   opencl_intel_intel(r)_hd_graphics_530.0 : Intel Inc. Intel(R) HD Graphics 530 (OpenCL)
   opencl_cpu.0 : Intel CPU (OpenCL)
   metal_amd_radeon_pro_460.0 : AMD Radeon Pro 460 (Metal)
   opencl_amd_amd_radeon_pro_460_compute_engine.0 : AMD AMD Radeon Pro 460 Compute Engine (OpenCL)
   metal_intel(r)_hd_graphics_530.0 : Intel(R) HD Graphics 530 (Metal)

Using experimental devices can cause poor performance, crashes, and other nastiness.
Continue reading “Mac 的 AMD 顯卡於 Keras 加速解法 – PlaidML”