在Macbook Pro上安装支持GPU的TensorFlow
上一篇博文《在Macbook Pro上为TensorFlow设置GPU》中,我们已经为Macbook上的NVIDIA显卡安装了各种驱动,保证各种深度学习框架能够使用GPU进行计算。这儿就总结一下在后续安装TensorFlow的过程中遇到的问题。
按照TensorFlow官网的说明,考虑到Macbook上刚新装了Anaconda (Python 3.6),因此选择用anaconda来安装tensorflow。选择支持GPU且Python3.6版本的TensorFlow安装链接后,安装很快就顺利完成。
接下来就是测试TensorFlow了!当在python环境中运行import tensorflow时,错误出现了:“Library not loaded: @rpath/libcudart.8.0.dylib”。查看了很多说法,发现众说纷纭。但主要的几个方面就是:
1.环境变量要设置好。在~./bash_profile和~./bashrc中,分别要设置与CUDA相关的环境变量。
export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH="$CUDA_HOME/lib:$CUDA_HOME/extras/CUPTI/lib"
export LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
export PATH=$DYLD_LIBRARY_PATH:$PATH
export flags="--config=cuda --config=opt"
2.各种建link的方法。但很不幸,都没起作用。
3.禁用SIP (Security Integrity Protection)。虽然这儿说不需要禁用,但最后死马当活马医,还是按照攻略把Mac的SIP给禁了。
4.也不知道是禁用SIP起了作用,还是单纯重启了机器的作用,运行import tensorflow的时候,错误信息变了:“Library not loaded: @rpath/libcudnn.5.dylib”。这下想起来了。昨天安装CUDA的时候,只把cuDNN的zip包下载下来了,而没有做任何处理!于是,先用which nvcc查看当前CUDA安装目录为/Developer/NVIDIA/CUDA-8.0,然后将cuDNN包中的文件分别拷贝到/lib和/include中。运行import tensorflow还是没找到libcudnn.5.dylib?好吧,想起来之前设置CUDA_HOME是在/usr/local/cuda,是目录/Developer/NVIDIA/CUDA-8.0的符号链接。于是将/Developer/NVIDIA/CUDA-8.0/lib/libcudnn.5.dylib的符号链接也添加进/usr/local/cuda/lib目录下。
sudo ln -s /Developer/NVIDIA/CUDA-8.0/lib/libcudnn.5.dylib /usr/local/cuda/lib/
5.运行以下python代码,终于让TensorFlow发现了NVIDIA的显卡,并成功看到“Hello, TensorFlow!”。
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
tensorflow/core/common_runtime/gpu/gpu_device.cc:887] Found device 0 with properties:
name: GeForce GT 750M
major: 3 minor: 0 memoryClockRate (GHz) 0.9255
pciBusID 0000:01:00.0
Total memory: 2.00GiB
Free memory: 613.28MiB
2017-06-15 15:13:36.451359: I tensorflow/core/common_runtime/gpu/gpu_device.cc:908] DMA: 0
2017-06-15 15:13:36.451364: I tensorflow/core/common_runtime/gpu/gpu_device.cc:918] 0: Y
2017-06-15 15:13:36.451374: I tensorflow/core/common_runtime/gpu/gpu_device.cc:977] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0)
>>> print(sess.run(hello))
b'Hello, TensorFlow!'
上一篇: hive日常使用的几个小技巧
下一篇: 导入文件
推荐阅读
-
在Macbook Pro上安装支持GPU的TensorFlow
-
TensorFlow在Win10上的安装注意和步骤
-
TensorFlow在windows上的安装
-
在Apache服务器上安装SSL支持的教程
-
CUDA9.1上安装tensorflow-gpu的过程
-
微软警告:偷渡者不受支持,请勿在不受支持的 PC 上安装 Win11
-
在VS2017的python模块中安装tensorflow1.14.0_gpu
-
不受支持的PC可以安装Win11吗?在不受支持的 CPU 上安装 Windows 11方法介绍
-
怎么在不受支持的处理器上安装Win11?
-
我在php7上安装composer报错,为啥报的是php5.dll丢失,难道是php7不支持composer吗