我开始学习 Keras,我相信它是 Tensorflow 和 Theano 之上的一层。但是,我只能使用 AMD R9 280X 等 AMD GPU。
如何设置我的 Python 环境,以便我可以通过 Keras/Tensorflow 对 OpenCL 的支持来使用我的 AMD GPU?
我在 OSX 上运行。
最佳答案
我正在 https://github.com/hughperkins/tensorflow-cl 为 Tensorflow 编写 OpenCL 1.2 后端
OpenCL 的 tensorflow 分支具有以下特点:
- 它针对任何/所有 OpenCL 1.2 设备。它不需要 OpenCL 2.0,不需要 SPIR-V 或 SPIR。不需要共享虚拟内存。等等……
- 它基于一个名为“cuda-on-cl”的底层库,https://github.com/hughperkins/cuda-on-cl
- cuda-on-cl 目标能够获取任何 NVIDIA® CUDA™ 源代码,并针对 OpenCL 1.2 设备进行编译。这是一个非常通用的目标,也是一个非常通用的编译器
- 目前,实现了以下功能:
- 在 OpenCL 上使用 Eigen 的逐元素操作(更多信息请访问 https://bitbucket.org/hughperkins/eigen/src/eigen-cl/unsupported/test/cuda-on-cl/?at=eigen-cl)
- blas/矩阵乘法,使用 Cedric Nugteren 的 CLBlast https://github.com/cnugteren/CLBlast
- reductions, argmin, argmax,再次使用 Eigen,根据之前的信息和链接
- 学习、培训师、渐变。至少,StochasticGradientDescent 训练器正在工作,其他训练器已提交,但尚未测试
- 它是在 Ubuntu 16.04(使用 Intel HD5500 和 NVIDIA GPU)和 Mac Sierra(使用 Intel HD 530 和 Radeon Pro 450)上开发的
这不是 Tensorflow 唯一可用的 OpenCL 分支。 Codeplay 也正在开发一个分支 https://www.codeplay.com , 使用 Computecpp, https://www.codeplay.com/products/computesuite/computecpp据我所知,他们的 fork 比我自己的要求更高,就它适用于哪些特定的 GPU 设备而言。您需要查看平台支持说明(位于 hte computecpp 页面底部),以确定您的设备是否受支持。 codeplay fork 实际上是一个官方的 Google fork,在这里:https://github.com/benoitsteiner/tensorflow-opencl
关于python - 将 Keras 和 Tensorflow 与 AMD GPU 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37892784/