pip install tensorflow-gpu
。一旦你做到了这一点,如果你正在编译TensorFlow,则CUDA设置也将起作用。如果你有外部GPU,YellowPillow的答案(或我的)可能会帮助你设置好一切。git checkout r1.2
替换git checkout r1.0
。
在执行./configure
时,注意Python库路径:有时会建议错误的路径。在大多数情况下,我选择了默认选项,除了Python库路径、CUDA支持和计算能力。不要使用Clang作为CUDA编译器:这将导致一个错误“不一致的交叉工具配置;没有与CPU'darwin'相对应的'toolchain' found。”。使用/usr/bin/gcc
作为编译器实际上会使用macOS/XCode自带的Clang。以下是我的完整配置。tensorflow/third_party/gpus/cuda/BUILD.tpl
的第98行,其中包含linkopts = [“-lgomp”]
(但该行的位置可能会发生变化)。一些人遇到了zmuldefs的问题,但我认为那是早期版本的问题;感谢udnaan指出可以注释掉这些行。bazel-build
命令中是否包含了 --config=cuda
? 这似乎是指令要求的,但我会收到如下错误信息: ERROR: Config value cuda is not defined in any .rc file
。 我想知道是否编译出来的只是 CPU 版本。 - Bobhttps://gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de03c7687
1. 下载自动化eGPU脚本并运行它
。这个脚本可以帮助您更方便地使用eGPU。请按照以下步骤操作:curl -o ~/Desktop/automate-eGPU.sh
https://raw.githubusercontent.com/goalque/automate-eGPU/master/automate-eGPU.sh
&& chmod +x ~/Desktop/automate-eGPU.sh && cd ~/Desktop && sudo
./automate-eGPU.sh
csrutil disable
然后重新启动计算机并重新运行automate-eGPU.sh
脚本。
2:下载和安装CUDA
运行cuda_8.0.61_mac.dmg
文件,按照安装步骤进行操作。然后,您需要设置路径。
进入终端并键入:
vim ~/.bash_profile
或者您已经存储了环境变量,然后添加以下三行:
export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH="$CUDA_HOME/lib:$CUDA_HOME:$CUDA_HOME/extras/CUPTI/lib"
export LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
3. 下载并安装cuDNN
下载cuDNN需要先注册成为Nvidia开发者,然后才能进行下载。请确保下载的是cuDNN v5.1 Library for OSX
,因为Tensorflow v1.1只支持该版本。注意,由于Mac系统不支持GPU,所以无法使用Tensorflow v1.2。
[![enter image description here][1]][1]
现在你需要下载一个名为cudnn-8.0-osx-x64-v5.1.tgz
的压缩文件,解压后会生成一个名为cuda
的文件夹,通过终端进入该文件夹。假设该文件夹位于Downloads目录下,打开终端并输入以下命令:
cd ~/Downloads/cuda
cuDNN
文件复制到存储 CUDA
的位置,因此:sudo cp include/* /usr/local/cuda/include/
sudo cp lib/* /usr/local/cuda/lib/
4. 现在在您的conda/virtualenv中安装Tensorflow-GPU v1.1
对于我来说,由于我使用conda
,我使用终端创建了一个新环境:
conda create -n egpu python=3
source activate egpu
pip install tensorflow-gpu # should install version 1.1
5. 确认其有效性
首先,您需要重新启动计算机,然后:
在终端中输入python
,然后按Enter键:
import tensorflow as tf
with tf.device('/gpu:0'):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
with tf.Session() as sess:
print (sess.run(c))
如果没有出现问题,则已完成设置,祝贺您!我今天刚完成设置并且一切正常 :)无法将设备分配给节点“MatMul”:无法满足显式设备规范“/device:GPU:0”,因为在此进程中未注册与该规范匹配的设备。
命令:
pip install tensorflow-gpu==1.5.0rc0
检查您的安装
当您可以将屏幕连接到GTX 1080 ti卡时,显示驱动程序已正确安装。
调用C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe以检查您的视频卡是否可用于CUDA。
执行以下tensorflow命令以查看可用设备:
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
故障排除和提示:
Ubuntu解决方案:
我找不到一个可行的解决方案,但是有一些方法:
似乎我的GTX 680(iMac)和GTX 1080 ti不能共同工作。通过apt-get安装显示驱动程序后,Ubuntu不能再启动:Ubuntu不再启动。尝试从NVIDIA下载页面下载官方显示驱动程序。
OSX解决方案: Tensorflow GPU仅支持tensorflow 1.1。我尝试安装了一个更新版本,但无法构建支持cuda的tensorflow-gpu。以下是一些方法:
结论: Windows安装比OSX或Ubuntu安装更容易,因为显示驱动程序正常工作,而且tensorflow不必自己构建。始终检查你所使用的软件版本。它们必须完全匹配。
我希望这能帮助到你!